對SQL Server數據庫中三種查找數據方案的比較
以下的文章主要向大家描述的是SQL Server數據庫中三種查找數據比較好用的方法比較,在SQL Server數據庫中主要有以下的3種方法可以用來對數據進行查找,這三種方法分別是以下是:
表掃描(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數據庫中三種查找數據方法的比較的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】