三種SQL Server查找數據方法的比較
以下的文章主要是介紹三種SQL Server查找數據方法的比較,在SQL Server數據庫中主要有有三種方式可以查找數據,它們分別是:表掃描(Table scan),索引掃描(Index scan)以及索引查找(Index seek)。
Index seek中,SQL Server 沿著索引樹(index tree)從根級(root level)向下進行索引鍵值匹配搜索,直到搜索到指定的行,然后使用存儲在索引鍵值中的書簽值(bookmark value)直接從數據頁中檢索匹配的數據行(這個書簽值可以是行標識符(RID),或者聚集索引的鍵值)。
對一個索引掃描(Index scan),SQL Server搜索索引樹中所有葉級(leaf level)中的行來進行可能匹配的查找。如果發現滿足匹配的行,然后利用書簽檢索數據行。
***一種是表掃描,SQL Server從數據表,可能是堆表(Heap Table)或者聚集索引的葉子頁從頭到尾進行掃描來查找數據。如果是數據表上已建立聚集索引,此時相當于索引掃描。
盡管前兩者都使用了索引,從I/O代價角度來講,索引掃描比索引查找的代價要高,但比表掃描(Table scan)要略微要小些。所以在實際中,盡量使用索引查找和索引掃描,而不要用表掃描。
以上的相關內容就是對三種SQL Server查找數據方法的比較的介紹,望你能有所收獲。
以上的相關內容就是對三種SQL Server查找數據方法的比較的介紹,望你能有所收獲。
【編輯推薦】