mysql:用like进行模糊查询时尽量避免用通配符%开头

在mysql中,用like进行模糊查询,如果以通配符%开头,可能会使索引失效,所以应该尽量避免。

例如,执行explain select * from test_table where description like '%据';查看执行计划,其中模糊查询以通配符%开头:
在这里插入图片描述
从输出发现,查询没有用到索引。

执行explain select * from test_table where description like '数%';查看执行计划,其中模糊查询以通配符%结尾:
在这里插入图片描述
从输出可以看出,查询用到了索引。

执行explain select * from test_table where description like '%据%';查看执行计划,其中模糊查询的首尾都用到了通配符%:
在这里插入图片描述
从输出可以看出,查询没有用到索引。

你可能感兴趣的:(mysql,数据库)