建立索引時要考慮哪些不利因素 如下哪些情況不建議使用索引


建立索引時要考慮哪些不利因素 如下哪些情況不建議使用索引

文章插圖
建立索引時要考慮的不利因素有:


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


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


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


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


【建立索引時要考慮哪些不利因素 如下哪些情況不建議使用索引】索引可以分為簇索引和非簇索引 , 簇索引通過重排表中的數據來提高數據的訪問速度 , 非簇索引則通過維護表中的數據指針來提高數據的索引 。索引的結構類似于樹狀結構 , 樹的頂部稱為葉級 , 樹的其它部分稱為非葉級 , 樹的根部在非葉級中 。同樣 , 在聚簇索引中 , 聚簇索引的葉級和非葉級構成了一個樹狀結構 , 索引的最低級是葉級 。在聚簇索引中 , 表中的數據所在的數據頁是葉級 , 在葉級之上的索引頁是非葉級 , 索引數據所在的索引頁是非葉級 。在聚簇索引中 , 數據值的順序總是按照升序排列 。應該在表中經常搜索的列或者按照順序訪問的列上創建聚簇索引 。