數據庫中的索引使您可以快速找到表或索引視圖中的特定信息。索引包含從表或視圖中一個或多個列生成的鍵,以及映射到指定數據的存儲位置的指針。通過創建設計良好的索引以支持查詢,可以顯著提高數據庫查詢和應用程序的性能。索引可以減少為返回查詢結果集而必須讀取的數據量。索引還可以強制表中的行具有唯一性,從而確保表數據的數據完整性。設計良好的索引可以減少磁盤 I/O 操作,并且消耗的系統資源也較少,從而可以提高查詢性能。對于包含 SELECT、UPDATE、DELETE 或 MERGE 語句的各種查詢,索引會很有用。例如,在 AdventureWorks 數據庫中執行的查詢 SELECT Title, HireDate FROM HumanResources.Employee WHERE EmployeeID = 250。執行此查詢時,查詢優化器評估可用于檢索數據的每個方法,然后選擇最有效的方法。可能采用的方法包括掃描表和掃描一個或多個索引(如果有)。掃描表時,查詢優化器讀取表中的所有行,并提取滿足查詢條件的行。掃描表會有許多磁盤 I/O 操作,并占用大量資源。但是,如果查詢的結果集是占表中較高百分比的行,掃描表會是最為有效的方法。查詢優化器使用索引時,搜索索引鍵列,查找到查詢所需行的存儲位置,然后從該位置提取匹配行。通常,搜索索引比搜索表要快很多,因為索引與表不同,一般每行包含的列非常少,且行遵循排序順序。查詢優化器在執行查詢時通常會選擇最有效的方法。但如果沒有索引,則查詢優化器必須掃描表。您的任務是設計并創建最適合您的環境的索引,以便查詢優化器可以從多個有效的索引中選擇。SQL Server 提供的數據庫引擎優化顧問可以幫助分析數據庫環境并選擇適當的索引。
網站導航
- zblogPHP模板zbpkf
- zblog免費模板zblogfree
- zblog模板學習zblogxuexi
- zblogPHP仿站zbpfang