m ysql的like语句的索引
时间: 2023-10-31 11:15:37 浏览: 92
mysql中like是否使用索引
在MySQL中,使用LIKE语句进行模糊查询时,如果查询条件中以通配符“%”开头,那么索引是无法被利用的,因为MySQL无法确定需要匹配的前缀部分。只有在查询条件中以通配符“%”结尾或者没有通配符时,MySQL才可以利用索引来加速查询。
举个例子,如果我们有一个名为“name”的列,类型为VARCHAR,长度为20,并且我们创建了一个索引,那么如下的查询将会使用索引:
```
SELECT * FROM table WHERE name = 'abc';
```
而如下的查询将不会使用索引:
```
SELECT * FROM table WHERE name LIKE '%abc%';
```
但是如果查询条件中只有以通配符“%”结尾的情况,MySQL也可以利用索引来加速查询。例如:
```
SELECT * FROM table WHERE name LIKE 'abc%';
```
此时,MySQL会使用索引来查找所有以“abc”开头的记录。
阅读全文