掃描 vs 尋求

檢視執行計劃時,你可能會看到 SQL Server 決定執行 Seek 或 Scan。

當 SQL Server 知道它需要去的地方並且只獲取特定項時,就會發生尋求。這通常發生在查詢中放置好的過濾器時,例如 where name = 'Foo'

掃描是指 SQL Server 無法確切知道所需的所有資料的位置,或者如果選擇了足夠的資料,則確定掃描比搜尋更有效。

尋求通常更快,因為他們只抓取資料的子部分,而掃描正在選擇大部分資料。