TypechoJoeTheme

Dcr163的博客

统计

Mysql SELECT查询语句索引在以下情况下不能使用

2019-07-09
/
0 评论
/
784 阅读
/
正在检测是否收录...
07/09

Mysql 表的索引在以下情况下不能使用

 1.对索引关键字字段使用了函数将导致索引无法使用。

SELECT * FROM test WHERE substring( name,1,2 )='ad';


 2.对索引字段进行模糊查询时,模式的第一个字符是通配符时,将导致索引无法使用。

SELECT * FROM test WHERE name LIKE '%ad%';


 3.违反最左前缀原则的SELECT语句,将导致索引无法使用。

 首先创建一个组合索引

 CREATE INDEX idx_name ON test(name,desc);

下面的SELECT语句就不能使用索引

 SELECT * FROM test WHERE desc='ad';

 下面的SELECT语句就能使用索引

 SELECT * FROM test WHERE name='ad';


 4.使用不等于(not操作符、!= 或者 <> )作为查询条件,将导致索引无法使用。

SELECT * FROM test WHERE name NOT LIKE 'ad%';


 5.索引值的数据类型与索引字段不同,虽然Mysql能够进行数据类型转换,但却不会使用索引。

 下面未使用索引

 SELECT * FROM test WHERE name=1111;

 下面使用索引

 SELECT * FROM test WHERE name='1111';




朗读
赞(0)
版权属于:

Dcr163的博客

本文链接:

https://dcr163.cn/213.html(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. William Tardent
    2024-02-27
  2. Maryann Hamer
    2024-02-27
  3. Sanora Pantano
    2024-02-24
  4. aa
    2024-02-21
  5. Kassie Baum
    2024-01-28

标签云