oracle 海量查询的数据优化
txt2008 太不正常了,一切都不正常
在这个关键时刻,中国男足挺身而出,向全世界证明:中国男足还是正常的
一、因情制宜,建立“适当”的索引 建立“适当”的索引是实现查询优化的首要前提
索引( index) 是除表之外另一重要的、用户定义的存储在物理介质上的数据结构
当根据索引码的值搜索数据时,索引提供了对数据的快速访问
事实上,没有索引,数据库也能根据SELECT 语句成功地检索到结果,但随着表变得越来越大,使用“适当”的索引的效果就越来越明显
注意,在这句话中,我们用了“适当”这个词,这是因为,如果使用索引时不认真考虑其实现过程,索引既可以提高也会破坏数据库的工作性能
(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录
微软的SQL SERVER 提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)
下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引
比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部
如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”
也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容
我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”
如果您认识某个字,您可以快速地从自动中查到这个字
但您也可能会遇到您不认识的字,不知道它的发音,这