Sql-Server

如何管理索引?

  • December 15, 2011

我試圖了解如何管理以下常見數據類型的索引:1-數字(整數、小數)2-字元串(Varchar、Char)3-日期時間

我有幾個問題:

1-How the indexes are stored for different data types?例如,如果有像 (100, 101, 100, 900, 700) 這樣的數字數據和像 (AAA,BBB,CCC,AAA,ABC) 這樣的字元串數據,那麼 numericcolumn 和 stringcolumn 索引如何將這些數據儲存在磁碟上?

2-Is there any different between the retrieval of a Numeric & String indexes?例如,如果我嘗試在 numericIndexed 列和 sringIndexes 列上使用 SELECT 語句,它們是如何檢索的?

3- SQL Server & Oracle 儲存的索引是否不同?或者他們使用相同的邏輯?問候。

對於 SQL Server,索引條目的儲存方式與普通記錄的儲存方式幾乎相同,但行標題除外。此外,索引和記錄條目永遠不會在同一頁面上

現在,我添加到這裡的任何東西都是比我聰明的人複製/粘貼的文章,所以我會向你推薦 Paul Randal:儲存引擎內部:記錄剖析

此外,SQL Server 中的所有索引都是 B-Tree。SQL Server 中具有聚集索引的表與Oracle索引組織表相同

至於 SELECT,您必須考慮索引是否通常“覆蓋”。這意味著整個 SELECT 只能從索引中得到滿足。否則它可能不會被使用或生成密鑰查找。有關更多資訊,請參閱

引用自:https://dba.stackexchange.com/questions/9196