1、索引中最常见的就是B树索引,B树索引的实现与二叉查找树相似,但是B的意思不是binary,而是balance(平衡)。
2、B树索引上的每个结点都是一个块,有叶子块和分支块之分。块中的数据包括各个索引以及一个rowid。走索引查询时,会按照树的分支将需要查询数据路径上的相应的分支块和叶子块读到内存。
3、B树索引不存在非唯一性条目,在一个非唯一性索引中,Oracle会把rowid作为一个额外的列追加到键上,使得键唯一。非唯一性索引,会先按索引键值排序,然后按rowid升序排序。
4、B树索引时高度平衡的,大多数情况,B树索引的高度都是2或3,即使索引数百万行记录也是如此。这说明,一般情况,在索引中找到键值只需2到3次IO(2到3个数据块)。
5、通常有两种使用索引的方法:
(1)索引用于访问表中的行,访问表中很少一部分行。
这是DBA给的经验值:
小表(记录数小于10000行的表):筛选比例<10%;
大表:(筛选返回记录数)<(表总记录数*单条记录长度)/10000/16
单条记录长度≈字段平均内容长度之和+字段数*2
(2)索引用于回答一个查询,索引中的信息足够回答整个查询。
6、不能视图加索引,视图只是存储了一种查询,具体的访问还是要访问基表。
7、B树索引不会存储null的条目。
8、外键上要加索引,否则容易造成死锁。
9、组合索引,查询时只使用单一或没有加上全部的索引条件的查询。
10、count查询默认是会走B树索引的,但是如果索引建在可能为null的字段上,则不会走索引查询(因为B树索引不能允许null,使用索引查出的count和使用表查询出来的count可能1出现不一致情况)。
11、索引列上使用函数或使用数据类型转化函数,将会不走索引查询。
12、优化器拒绝使用索引查询,优化器绝大多数时候是英明的,不要贸然强制使用索引。
13、没有将最有差别的列放在索引最前面会使索引更小或更有效率的说法,实际上,如果使用索引键压缩,情况恰恰相反(即把没有差别的列放在索引最前面最优的做法)。
相关推荐
Microsoft Win32 程序员参考大全这套电子书你可能有,但你的有索引吗? 万一先生为我们添加了索引,这下方便多了。 五本书我分了三个压缩包。 第二部分在http://download.csdn.net/source/912420 第三部分在...
程序员之路——一个老程序员对刚上大学的学弟学妹的忠告.
程序员浏览器程序员浏览器程序员浏览器程序员浏览器程序员浏览器程序员浏览器程序员浏览器程序员浏览器
Microsoft Win32 程序员参考大全这套电子书你可能有,但你的有索引吗? 万一先生为我们添加了索引,这下方便多了。 五本书我分了三个压缩包。 第一部分在http://download.csdn.net/source/912365 第三部分在...
程序员工资程序员工资程序员工资程序员工资程序员工资程序员工资
Microsoft Win32 程序员参考大全这套电子书你可能有,但你的有索引吗? 万一先生为我们添加了索引,这下方便多了。 五本书我分了三个压缩包。 第一部分在http://download.csdn.net/source/912365 第二部分在...
程序员考试程序员考试程序员考试程序员考试
程序员之路——一个老程序员对刚上大学的学弟学妹的忠告 刚刚学习计算机的同学必看!
程序员的酸甜苦辣程序员的酸甜苦辣程序员的酸甜苦辣程序员的酸甜苦辣
程序员第二步从程序员到项目经理 程序员第二步从程序员到项目经理 程序员第二步从程序员到项目经理
对程序员的忠告 对程序员的忠告 对程序员的忠告
如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一...
vc++程序员必读vcvc++程序员必读++程序员必读vc++程序员必读
java程序员两个简历Word简历模版样试
EOS程序员教程 EOS程序员教程 EOS程序员教程
[程序员实习日记大全]java程序员实习日记多篇.pdf[程序员实习日记大全]java程序员实习日记多篇.pdf[程序员实习日记大全]java程序员实习日记多篇.pdf[程序员实习日记大全]java程序员实习日记多篇.pdf[程序员实习日记...
程序人生--一个程序员对学弟学妹建议 程序人生--一个程序员对学弟学妹建议 程序人生--一个程序员对学弟学妹建议
程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板程序员简历模板...
java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...
程序员的爱情 程序员的爱情 程序员的爱情