最佳SQL Server索引策略
為聚簇索引選擇恰當的欄位或欄位集是至關重要的。這是因為表的資料是根據聚簇索引欄位的值而物理地排序的。每個表上只能建立一個聚簇索引。非聚簇索引引用聚簇索引的鍵(資料值)來確定每個記錄的物理位置。
一般推薦在不會頻繁修改的、經常會被查詢的和有瘦資料型別的欄位上建立聚簇索引。在大多數情況下,在標識欄位上的聚簇索引是最佳的,因為標識值是最常被查詢的——每個記錄都有一個唯一的標識值——同時它們從不用更新,而且是使用SMALLINT、INT或BIGINT資料型別建立的。
然而,通常情況下是不會有一個表從來不被基於它的標識欄位查詢的。如果真有,我們就需要仔細考慮資料通常是如何檢索的,可能是通過指向另外一個表的外來鍵或者一個字元欄位。通常情況下,通過在最常用來檢索資料的欄位或欄位集上建立聚簇索引可以提高效能。
有些開發人員傾向於建立組合聚簇索引。它們都包括幾個欄位,是一個唯一標識每個記錄的組合。聽起來可能是一個很好的實踐方法,因為標識欄位沒有業務意義,而其它的欄位——如入職日期、部門名稱和車輛識別碼——一定可以被應用使用者快速理解。然而,對效能而言,我們必須避免使用組合聚簇索引。
再次,越瘦的索引,SQL Server可以越快地掃描或查詢。對於一個小的資料集,組合索引的效能相對更好些。但是,隨著使用者數增加,它將會出現更多的問題。
建立恰當的索引可以提高效能,我們也許會覺得工作已經完成了。但是,隨著表中資料的新增、修改和刪除,各個索引會出現碎片。碎片的程度越高,索引的效率就越低。因此,現在我們需要實現一個將索引中的碎片刪除的計劃,以便確保索引的有效性。
對於先前的SQL Server版本,從大索引(有數百萬行的表)中刪除碎片往往需要停機。幸運的是,SQL Server 2005支援線上索引重建。然而,記住,重建索引仍然需要佔用系統資源和資料庫的tempdb空間。可能的話,排程索引維護在活躍使用者最少的時間進行。
SQL Server資料庫架構師和管理員可以選擇多種方法來使他們的應用在一開始就表現良好。為了保證成功的資料庫效能,在設計階段作出很好的選擇非常重要。在這個版本的SQL Server INSIDER中,專家Baya Pavliashvili探討了如何作出可以優化效能的資料庫設計決定。設計一個資料庫包括合適的:
• 資料模型
• 資料型別
• 索引策略
• 程式碼模組
• 高可用選項
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-604318/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 最佳化SQL Server索引的技巧SQLServer索引
- SQL Server索引 - 非聚集索引SQLServer索引
- SQL Server 索引結構SQLServer索引
- SQL Server 加密解密策略SQLServer加密解密
- SQL Server 備份策略SQLServer
- MySQL 索引使用策略及最佳化MySql索引
- Sql Server系列:索引維護SQLServer索引
- Sql Server系列:索引基礎SQLServer索引
- SQL Server基礎之索引SQLServer索引
- 建立索引——提高SQL Server效能索引SQLServer
- SQL Server 資料庫索引SQLServer資料庫索引
- SQL Server 深入解析索引儲存(聚集索引)SQLServer索引
- SQL最佳化(一) 索引SQL索引
- SQL Server 深入解析索引儲存(非聚集索引)SQLServer索引
- SQL Server 重新組織生成索引SQLServer索引
- SQL Server 索引結構及其使用SQLServer索引
- SQL Server 備份遷移策略SQLServer
- 包含列的索引:SQL Server索引進階 Level 5索引SQLServer
- SQL Server 索引和表體系結構(聚集索引)SQLServer索引
- SQL Server 聚集索引和非聚集索引的區別SQLServer索引
- SQL效能最佳化之索引最佳化法SQL索引
- [zt] 聚集索引和非聚集索引(sql server索引結構及其使用)索引SQLServer
- SQL Server 深入解析索引儲存(上)SQLServer索引
- SQL Server 深入解析索引儲存(中)SQLServer索引
- SQL Server 深入解析索引儲存(堆)SQLServer索引
- SQL Server 索引結構詳述(1)SQLServer索引
- SQL Server 索引使用分析 - SARG(Searchable Arguments)SQLServer索引
- SQL Server 索引結構及其使用(二)SQLServer索引
- SQL Server 索引結構及其使用(一)SQLServer索引
- 六點SQL Server索引管理規則SQLServer索引
- SQL Server 資料訪問策略:CLRMESQLServer
- SQL Server 最佳化彙總SQLServer
- sql server 索引闡述系列七 索引填充因子與碎片SQLServer索引
- SQL Server 索引和表體系結構(非聚集索引)SQLServer索引
- SQL Server 索引和表體系結構(包含列索引)SQLServer索引
- SQL Server 2014的重建索引SQLServer索引
- 如何獲得SQL Server索引使用情況SQLServer索引
- SQL Server 索引結構及其使用(一)[轉]SQLServer索引