来自通配符的影响是什么%

Ric*_*cky 8 sql-server

我需要添加一个新的SELECT语句,其搜索条件包括leagueCode LIKE'nba%'.

我想知道对于leagueCode的索引是否仍可利用,或者在目标列中包含%之后引入任何开销.

小智 4

它100%取决于通配符的位置。

  • 一开始:没有索引。某些服务器具有反向索引(从字符串末尾开始)并且会使用它们 - SQL Server 没有。
  • 中间:部分索引(开始部分),然后在该范围内查找。
  • 最后:索引(实际上查询分析器中将显示一个 INDEX SEEK)。

高架?当然 - 但它并不完全高(没有表扫描)并且没有完全解决它的方法。