描述使用索引的过滤查询的术语是什么

gri*_*zly 1 oracle sql-server database-theory

我正在寻找一个技术术语来描述 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
Run Code Online (Sandbox Code Playgroud)

您知道描述这些类型查询的术语是什么吗?

谢谢。

Aar*_*and 6

Sargable(或有时 sargable)。这不是一个真正的字,它是由达小号目录操作搜索ARG ument,当一个WHERE条款是优化搜索,这意味着公司有可能为它使用索引。这并不意味着它使用索引,也不意味着它会寻找。优化器的选择涉及很多因素,不同平台之间,甚至同一平台的不同版本和版本之间,规则可以明显不同。

参考: