對SQL Server數(shù)據(jù)庫中三種查找數(shù)據(jù)方案的比較
以下的文章主要向大家描述的是SQL Server數(shù)據(jù)庫中三種查找數(shù)據(jù)比較好用的方法比較,在SQL Server數(shù)據(jù)庫中主要有以下的3種方法可以用來對數(shù)據(jù)進(jìn)行查找,這三種方法分別是以下是:
表掃描(Table scan)
索引掃描(Index scan)
索引查找(Index seek)
Index seek中,SQL Server 沿著索引樹(index tree)從根級(root level)向下進(jìn)行索引鍵值匹配搜索,直到搜索到指定的行,然后使用存儲在索引鍵值中的書簽值(bookmark value)直接從數(shù)據(jù)頁中檢索匹配的數(shù)據(jù)行(這個書簽值可以是行標(biāo)識符(RID),或者聚集索引的鍵值)。
對一個索引掃描(Index scan),SQL Server搜索索引樹中所有葉級(leaf level)中的行來進(jìn)行可能匹配的查找。如果發(fā)現(xiàn)滿足匹配的行,然后利用書簽檢索數(shù)據(jù)行。
***一種是表掃描,SQL Server數(shù)據(jù)庫從數(shù)據(jù)表,可能是堆表(Heap Table)或者聚集索引的葉子頁從頭到尾進(jìn)行掃描來查找數(shù)據(jù)。如果是數(shù)據(jù)表上已建立聚集索引,此時相當(dāng)于索引掃描。
盡管前兩者都使用了索引,從I/O代價角度來講,索引掃描比索引查找的代價要高,但比表掃描(Table scan)要略微要小些。所以在實(shí)際中,盡量使用索引查找和索引掃描,而不要用表掃描。 

上述的相關(guān)內(nèi)容就是對SQL Server數(shù)據(jù)庫中三種查找數(shù)據(jù)方法的比較的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】















 
 
 




 
 
 
 