資料庫建立索引

2021-08-25 12:04:13 字數 1080 閱讀 3870

建立索引:

目的:加快查詢速度

create [unique] [cluster] index 《索引名》 on 《表名》((《列名》[《次序》] [,《列名》[《次序》]]))

(unique標識唯一索引,cluster表示聚簇索引)

索引可以建立在該錶的一列或多列上,各列名之間用逗號隔開,次序表示索引值的排列次序,asc表示公升序(預設),desc表示降序

eg:create unique index scno on sc(sno asc,cno desc);

注意事項

1.索引的數目不是越多越好。每個索引都需要占用磁碟空間,索引越多,需要的磁碟空間就越大。修改表時,對索引的重構和更新很麻煩。越多的索引,會使更新表變得很浪費時間。

應該建立的索引:

1.在經常需要搜尋的列上,可以加快搜尋的速度;

2.在作為主鍵的列上,強制該列的唯一性和組織表中資料的排列結構;

3.在經常需要排序的列上建立索引,因為索引已經排序,這樣查詢可以利用索引的排序,加快排序查詢時間;

4.在經常使用在where子句中的列上面建立索引,加快條件的判斷速度。

不應該建立的索引:

1.對於那些在查詢中很少使用或者參考的列不應該建立索引。這是因為,既然這些列很少使用到,因此有索引或者無索引,並不能提高查詢速度。相反,由於增加了索引,反而降低了系統的維護速度和增大了空間需求。

2.對於那些只有很少資料值的列也不應該增加索引。這是因為,由於這些列的取值很少,例如人事表的性別列,在查詢的結果中,結果集的資料行佔了表中資料行的很大比例,即需要在表中搜尋的資料行的比例很大。增加索引,並不能明顯加快檢索速度。

3.對於那些定義為text, image和bit資料型別的列不應該增加索引。這是因為,這些列的資料量要麼相當大,要麼取值很少,不利於使用索引。

4.當修改效能遠遠大於檢索效能時,不應該建立索引。這是因為,修改效能和檢索效能是互相矛盾的。當增加索引時,會提高檢索效能,但是會降低修改效能。當減少索引時,會提高修改效能,降低檢索效能。因此,當修改操作遠遠多於檢索操作時,不應該建立索引。

資料庫建立索引

建立索引 學生學號建立聚集索引 create unique clustered index ix student id on student studentid 規則 create unique clustered nonclustered index 索引名 on 表名 檢視名 索引列名,asc ...

資料庫建立索引

建立索引可以大大提高系統的效能 優點 通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性 可以大大加快資料的檢索速度,這也是建立索引的最主要的原因 可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。在使用分組和排序子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間 ...

資料庫索引 建立方法

資料庫索引是將資料庫表中的某一列或幾列以特定的資料結構存起來,比如b tree,hash等,這樣查詢的時候就可以不用從頭插到尾要o n 這樣可以縮短到o log 級別甚至o 1 建立索引之後查詢和修改,排序等操作可以省很多時間。索引是對資料庫表中乙個或多個列 例如,employee 表的姓名 nam...