SQL Server2005索引簡介
2011-06-22 14:48 熬夜的蟲子 閱讀(380) 評論(0) 收藏 舉報索引簡介:
索引是與表關聯的磁盤上結構,可以加快從表中檢索行的速度。索引包含由表中的一列或多列生成的鍵。這些鍵存儲在一個結構(B 樹)中,使 SQL Server 可以快速有效地查找與鍵值關聯的行。
索引構造:

聚集索引:根據數據行的鍵值在表中排序和存儲這些數據行。索引定義中包含聚集索引列。每個表只能有一個聚集索引,因為數據行本身只能按一個順序排序。
非聚集索引:非聚集索引具有獨立于數據行的結構。非聚集索引包含非聚集索引鍵值,并且每個鍵值項都有指向包含該鍵值的數據行的指針。從非聚集索引中的索引行指向數據行的指針稱為行定位器。行定位器的結構取決于數據頁是存儲在堆中還是聚集表中。對于堆,行定位器是指向行的指針。對于聚集表,行定位器是聚集索引鍵。
索引設計:
索引設計不佳和缺少索引是提高數據庫和應用程序性能的主要障礙。為數據庫及其工作負荷選擇正確的索引是一項需要在查詢速度與更新所需開銷之間取得平衡的復雜任務。
索引設計原則:
大量的索引會影響DML語句的性能;
對小表進行索引可能不會產生優化效果;
對經常用于查詢中的謂詞和連接列創建非聚集索引;
覆蓋索引可以提高查詢性能;
聚集索引,最好保持較短的索引鍵;
考慮對定義完善的的列使用篩選索引;
如果索引包含多個列 ,應考慮列的順序;
創建索引:
每個表只能有一個聚集索引;
每個表最多有249個非聚集索引;
每個索引最多16個鍵列;
索引鍵最長900字節;
大型對象數據類型不能作為索引鍵列;

索引優化:
無論何時對基礎數據執行插入,更新或刪除操作,數據庫引擎都會自動維護索引。這些修改可導致索引中產生碎片;碎片非常多的索引可能會降低查詢性能,導致應用程序響應緩慢。
1.定期整理索引;
2.設置索引并行度;
3.分析TRACE數據,調整索引;
![]() |
原創作品允許轉載,轉載時請務必以超鏈接形式標明文章原始出處以及作者信息。 作者:熬夜的蟲子 點擊查看:博文索引 |

浙公網安備 33010602011771號