index是一种以B-树组织的数据库对象,设计合理的index能提高查询性能,但是,如果设计的不合理,index会增加db维护的成本。
1,index的类型
index 分为两种类型,clustered和nonclustered,两种类型的区别是很大的。
1.1 Clustered index
在一个table上,只能创建一个clustered index,因为table按照clustered index来组织data的物理存储。创建clustered index的代码如下
create clustered index idx_clustered_code on dbo.test(code)
按照code组织index结构,在物理上,table的data按照code的顺序进行存储。就是说,逻辑上code连续的,在物理存储上是连续的,如果不连续,可能的原因是index fragment或换页。
1.2 Clustered index的结构
如果在一个table上创建了Clustered index,那么这个Clustered index的 leaf node就是数据本身,non-leaf node是index的结构。Clustered index 需要额外的空间来存储index的结构,在每次更新data的时候,都要更新index。
时间: 2024-10-07 03:05:05