建立索引時要考慮哪些不利因素

建立索引時要考慮的不利因素有:

建立索引時要考慮哪些不利因素

1、創建索引和維護索引要耗費時間,這種時間隨着數據量的增加而增加;

2、索引需要佔物理空間,除了數據表佔數據空間之外,每一個索引還要佔一定的物理空間,如果要建立聚簇索引,那麼需要的空間就會更大,如果非聚集索引很多,一旦聚集索引改變,那麼所有非聚集索引都會跟着變;

3、當對錶中的數據進行增加、刪除和修改的時候,索引也要動態的維護,一旦一個數據改變,並且改變的列比較多,可能會引起好幾個索引跟着改變,這樣就降低了數據的維護速度。

4、每個索引都有統計信息,索引越多統計信息越多,過多索引會導致優化器優化過程需要評估的組合增多。創建索引的時候,應該仔細考慮在哪些列上可以創建索引,在哪些列上不能創建索引。

索引可以分為簇索引和非簇索引,簇索引通過重排表中的數據來提高數據的訪問速度,非簇索引則通過維護表中的數據指針來提高數據的索引。索引的結構類似於樹狀結構,樹的頂部稱為葉級,樹的其它部分稱為非葉級,樹的根部在非葉級中。同樣,在聚簇索引中,聚簇索引的葉級和非葉級構成了一個樹狀結構,索引的最低級是葉級。在聚簇索引中,表中的數據所在的數據頁是葉級,在葉級之上的索引頁是非葉級,索引數據所在的索引頁是非葉級。在聚簇索引中,數據值的順序總是按照升序排列。應該在表中經常搜索的列或者按照順序訪問的列上創建聚簇索引。