楼主: qfsb_p

大量的insert/update/delete操作后,进行select超慢

[复制链接]
招聘 : 售前/售后支持
论坛徽章:
1
2010数据库技术大会纪念徽章
日期:2010-05-13 09:34:23
11#
发表于 2004-9-16 22:23 | 只看该作者
最初由 loveandluck 发布
[B]也可能是因为开始有大量数据,高水位标记值很高。再去select时仍要扫描大量的数据块。 [/B]

说得没错,又是高水位的问题。CREATE  TABLE A AS SELECT * FROM B ,  然后在SELECT  包你快.

使用道具 举报

回复
论坛徽章:
16
ITPUB元老
日期:2005-04-27 08:46:182013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-01-04 11:49:54鲜花蛋
日期:2011-12-27 22:39:17ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010新春纪念徽章
日期:2010-03-01 11:20:51生肖徽章2007版:牛
日期:2009-07-13 12:53:13生肖徽章2007版:蛇
日期:2009-03-19 13:57:24生肖徽章2007版:牛
日期:2008-12-17 10:30:43奥运会纪念徽章:足球
日期:2008-10-24 13:28:14
12#
发表于 2004-9-17 08:44 | 只看该作者
没错,就是hwm得问题。insert以后提升hwm,delete并不降低hwm。而select做全表扫描时总是会扫描hwm以下得所有block。所以建议定期对该表进行整理。可以用
alter table yourtbname move tablespace indx;
alter table yourtbname move tablespace users;
并重建该表所对应得索引。

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2004-9-17 08:55 | 只看该作者
重新建一个一样的表也可以吧
create table new_name as select * From  old_name;
然后把原来的表删掉,再把现在的表rename

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2004-9-17 15:33 | 只看该作者

慢地原因!!!

主要是对表的频繁操作(delete,update)是表中数据的存储非常混乱,可以采用分析表,或着从建索引,都是可以的
分析主要是把表中的分散数据进行规整,从建索引也是同样可以将索引种的数据从新进行集合,利于查询,一般delete和insert用的频繁会造成慢地情况

使用道具 举报

回复
论坛徽章:
42
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:022011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
15#
发表于 2004-9-17 17:51 | 只看该作者
如果有索引,可能是索引变得太大了
如果没有索引,可能是HWM太高了

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2004-9-17 18:40 | 只看该作者

大家好!

在对一张表重复地进行INSERT/UPDATE/DELETE操作以后,最终保持原来的那么几条记录,最后导致SELECT操作非常慢,虽然没有建索引但是在我们创建主键的时候就自动地创建一个同名的唯一索引,而进行INSERT等操作时,虽然记录被删除掉,但是索引空间不能够重复使用,这样浪费了很多空间,最终导致了SELECT操作速度变得非常慢。

使用道具 举报

回复
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
17#
发表于 2004-9-17 21:51 | 只看该作者

Re: 大家好!

最初由 bumblebeelyh 发布
[B]在对一张表重复地进行INSERT/UPDATE/DELETE操作以后,最终保持原来的那么几条记录,最后导致SELECT操作非常慢,虽然没有建索引但是在我们创建主键的时候就自动地创建一个同名的唯一索引,而进行INSERT等操作时,虽然记录被删除掉,但是索引空间不能够重复使用,这样浪费了很多空间,最终导致了SELECT操作速度变得非常慢。 [/B]


把索引删掉重建
btw:可能的话把表move到另外的表空间,同时要重建索引

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2005-10-30 17:05:33ITPUB元老
日期:2007-10-11 17:52:042010新春纪念徽章
日期:2010-03-01 11:08:37ITPUB社区OCM联盟徽章
日期:2014-08-11 09:13:02
18#
发表于 2004-9-18 16:21 | 只看该作者
up

使用道具 举报

回复
论坛徽章:
14
数据库板块每日发贴之星
日期:2005-05-15 01:01:24生肖徽章2007版:鸡
日期:2009-11-17 15:01:30生肖徽章2007版:马
日期:2009-10-22 08:53:062009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2008-12-28 01:01:02ERP板块每日发贴之星
日期:2008-11-29 01:01:04数据库板块每日发贴之星
日期:2008-04-25 01:01:54生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10
19#
发表于 2004-9-18 17:12 | 只看该作者
最初由 wxhfriend 发布
[B]up [/B]

真不知道你在干什么,凑贴子数???

使用道具 举报

回复
论坛徽章:
11
数据库板块每日发贴之星
日期:2005-07-05 01:01:25奥运会纪念徽章:田径
日期:2008-10-24 13:18:47生肖徽章2007版:鼠
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10数据库板块每日发贴之星
日期:2007-02-20 01:04:29ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02会员2006贡献徽章
日期:2006-04-17 13:46:34授权会员
日期:2005-10-30 17:05:33数据库板块每日发贴之星
日期:2005-07-11 01:01:25
20#
发表于 2004-9-18 18:29 | 只看该作者
学习中

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表