Sql优化问题,为什么图中这两句只差一个%,但是前者会导致放弃使用索引,而后者却是优化手段?

图片说明

因为你如果前面加个%,那么数据库就直接进行范围查询了(%匹配所有)

但第二句的话,数据库引擎会先根据abc筛选出符合的记录

这就像查户口一样,如果你查一个人的名字是田姓,第一种查询的意思是可能会姓田,也可能是名字中包含田,那你就要查询所有包含田的人。而第二种明确地说是姓田,那直接在姓田的一批人中查找就可以了,这块区域就是索引。