在中索引是一种与表有关的数據库结构,它可以使对应于表的语句执行得更快索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容索引是一種允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入是一个独立于表的对象,可以存放在与表不同的表空间中索引记录中存有索引关键字和指向表中数据的指针(地址)。对索引进行的I/O操作比对表进行操作要少很多索引一旦被建立就将被Oracle系统自動维护,查询语句中不用指定使用哪个索引
单列索引:基于一列的操作
多列索引:组合索引,最多为32列组合索引的列不一定与表中列順序相同。
惟一索引:列的值各不相同
非惟一索引:列的值允许相同。
基于函数的惟一索引:利用表中一列或多列基于函数表达式所创建的索引既可以是B-树,也可以是位图索引
非分区索引:非分区既可以是B-树,也可以是位图索引
B-树索引:包括正常索引或反转关键芓索引
Root为根节点,branch 为分支节点leaf 到最下面一层称为。每个节点表示一层当查找某一数据时先读根节点,再读支节点最后找到叶子节点。叶子节点会存放index entry (索引入口)每个索引入口对应一条记录。
2场合:非常适合数据重复度低的字段 例如 身份证号码 手机号码 QQ号等字段瑺用于主键 唯一约束,一般在在线交易的项目中用到的多些
3原理:一个键值对应一行(rowid) 格式: 【索引头|键值|rowid】
4优点:当没有索引的时候,oracle只能全表扫描where qq= 这个条件那么这样是灰常灰常耗时的当数据量很大的时候简直会让人崩溃,那么有个B-tree索引我们就像翻书目录一样直接定位rowid立刻就找到了我们想要的数据,实质减少了I/O操作就提高速度它有一个显著特点查询性能与表中数据量无关,例如 查2万行的数据用叻3
当我们的字段中使用了主键or唯一约束时不用想直接可以用B-tree索引
5缺点:不适合键值重复率较高的字段上使用,例如 第一章 1-500page 第二章 501-1000page
1 清空共享池数据库缓冲区
数据库在选择执行计划时,依据就是表、索引的统计信息该参数会提示数据库建索引的同时,更新对应的统计信息但是在一个数据修改量比较大的环境中,使用该选项有可能导致执行计划的不稳定
//viewspace-1269118/,如需转载请注明出处,否则将追究法律责任
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。