为什么在一个有30000条记录并且建立有索引的表进行操作很慢,怎么办?
其实30000条记录并不是太多,你感觉有些慢可能是记录数太多的缘故,原因可能是每条记录太长,或者你的机器的性能十分低,下面的一些方法可能会对性能有所帮助:
1.更新统计信息(update satistics on tablename)
这一点很容易做到,并且有可能会带来性能的提高。
2.删除
然后再重新创建索引。这样作能够增加索引的连续性。但是要求是DBA或者有创建索引的权限。
3.alter INDEX idxname TO CLUSTER
这样作的目的是重新创建表并且通过索引来重新排列记录。结果是强制使记录在逻辑上连续,并且提高物理上的连续性。这样作的代价最大,但是效果最好。但是,一个表中只能有一个cluster index,并且,重新排列记录可能会强迫其他的查询使用其他的索引。作这种工作,你必须要为DBA或者有alter table 的权限。并且请注意,在你运行cluster index的时候,你必须要有足够的空间,因为在为一个表创建cluster index的时候,会拷贝表中所有的记录到一个临时表中,在临时表中进行排序操作,然后会删除原来的表,然后将临时表的名字改为原始表的名字。因此,如果这个表中的数据变化很大,如经常要进行大量的插入/删除的操作,这样作的好处就体现不出来。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
Informix Online数据库日常管理及维护
定时做逻辑日志文件备份,系统只将已写满的逻辑日志文件备份到磁带上,然后清空,并释放这些日志文件。
-
在SQL Server Profiler中使用跟踪
SQL Server Profiler是一个应用程序,在SQL Server标准版、企业版和工作组版中都有,它为用户提供了一个接口,用来设置与运行跟踪。
-
DB2性能调优工程师常遇二十大难题
DB2数据库设计中物理设计应该尽可能的和逻辑结构相近,但是为性能做出的物理设计改变不能被忽略,因为它们并不来自于逻辑设计。
-
Oracle索引聚簇表的数据加载
索引聚簇表是基于一个索引聚簇创建的。里面记录的是各个聚簇键。聚簇键和我们用得做多的索引键不一样,索引键指向的是一行数据,聚簇键指向的是一个ORACLE BLOCK。