之前只知道在数据库中like对索引的影响是%的位置不同,%在配置值的后面才能执行索引,今天有时间就单独写个表看看到底什么区别;
##创建表 设置主键自增
CREATE TABLE test(id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(255),PRIMARY KEY(id) );
## 添加索引
ALTER TABLE test ADD INDEX name_index (name);
## 查看索引
SHOW INDEX FROM test;
## 添加记录
INSERT INTO test VALUES((1,'qq'),(2,'qqf'),(3,'abc'),(4,'aabc');
生成表后进行查看like对索引的影响:
## 第一种不加%
explain select * from test where name like 'q';
## 第二种%在后
explain select * from test where name like 'q%';
## 第三种%在前
explain select * from test where name like '%q';