DB2数据库中都有哪些索引类型呢?下面就为您分类介绍DB2索引类型,如果您是刚刚接触DB2数据库的新人,不妨一看。
DB2索引类型:
在介绍索引类型前介绍一下关于稠密度的概念.
稠密度定义:在数据分布均匀的情况下,稠密度=数据分布的可能数/数据总条数。例如:表1中有索引1在列1上,其中列1的数据分布有10中,分别是1-10,数据接近均匀分布,总数据量为1000,则该索引的稠密度=100/1000=10%,稠密度最高为1。稠密度越小,索引的选择性越大,查询性能越好。
(1)非唯一索引
可以说大部分的索引的非唯一索引,这和数据的分布有关系,一般的数据都具有可重复性特性,所以他们不能被定义为唯一索引。非唯一索引可以使用命令:
CREATE INDEX <IDX_NAME> ON <TAB_NAME> (<COLNAME>)来定义。
(2)唯一索引
唯一索引用来保证数据的唯一性,唯一索引一般性能要高于非唯一索引,这与索引的稠密度有关。唯一索引的稠密度永远等于数据总条数的倒数。
(3)纯索引
纯索引的概念是相对与一般索引。如下方式表中有俩个字段,其中字段1是唯一主键,字段2为数据,实际的查询中经常是select * from 表 where col1=?
这样的查询条件可以使用纯索引来避免表查询,具体创建命令为
CREATE UNIQUE INDEX <IDX_NAME> ON <TAB_NAME> (COL1_NAME) INCLUDE(COL2_NAME)。上述的语句的意思就是在col1上创建唯一索引,选择包含col2的数据,这些附加的数据将与键存储到一起,但是不作为索引的一部分,所以不被排序。纯索引访问是用来减少对数据页的访问,因为所需要的数据已经显示在索引中了。
(4)群集索引
群集索引允许对数据页采用更线性的访问模式,允许更有效的预取,并且避免排序。群集索引是要求数据在插入时,做更多的操作,将相临的数据条目放入相同的页,使得查询速度更快,因为每次访问索引页要将所有的索引条目都访问完毕才移到下一页,保证了缓存池中任何一个时刻都只有一个索引页存在。
群集索引的特点:
提高查询速度,数据页以键的顺序排列;
以键的顺序扫描整张表;
插入和更新需要做更多的事情,不建议经常插入和更新的表上做群集索引;
【编辑推荐】