以 Mysql 为例,其中索引 BTree 类型 。以下几种SQL设计会导致虽然使用了索引,但是索引不会生效,即引擎放弃使用索引而进行全表扫描:
WHERE 子句中使用 != 或 <> 操作符。
WHERE 子句中对索引列使用 %前缀模糊查询。
WHERE 子句中对索引列使用 OR 来连接条件。
WHERE 子句中对索引列使用 NOT IN。
WHERE 子句中对索引列使用计算、函数、类型转换等操作。
WHERE 子句中对索引列使用参数。
以 Mysql 为例,其中索引 BTree 类型 。以下几种SQL设计会导致虽然使用了索引,但是索引不会生效,即引擎放弃使用索引而进行全表扫描:
WHERE 子句中使用 != 或 <> 操作符。
WHERE 子句中对索引列使用 %前缀模糊查询。
WHERE 子句中对索引列使用 OR 来连接条件。
WHERE 子句中对索引列使用 NOT IN。
WHERE 子句中对索引列使用计算、函数、类型转换等操作。
WHERE 子句中对索引列使用参数。