Sql-Server
描述使用索引的過濾查詢的術語是什麼
我正在尋找一個技術術語來描述 SQL 中使用索引的查詢類型。我完全忘記了這個名字,再也找不到了(甚至有一篇關於這個的維基百科文章,但我找不到)。它有(AFAIK)兩個或三個音節。
它基本上表示使用索引的查詢類型,以及查詢數據庫時使用的最佳實踐的構成。
一些最佳實踐如下:
- 不要通過對列名執行函式或計算來搜尋
- 請使用
LIKE
帶有尾隨萬用字元的運算符,而不是前導- 將列值與固定值(常量)進行比較,
例如。
SELECT column, date FROM table (..) (..) WHERE column LIKE 'A%' -- OK, because looks up the column (..) WHERE column LIKE '%A%' -- INCORRECT, expensive (..) WHERE SUBSTRING(column, 1, 3) = 'abc' -- INCORRECT
你知道描述這些類型查詢的術語是什麼嗎?
謝謝。
Sargable(或有時是 sargeable)。它實際上不是一個詞,它是由 Search ARG ument 組成的,當一個子句是sargable時,這意味著它可以使用索引。這並不意味著它會使用索引,也不意味著它會尋找。優化器的選擇有很多因素,不同平台之間的規則可能明顯不同,甚至同一平台的不同版本和版本。
WHERE
參考: