=和LIKE之间的性能差异

时间:2014-06-28 12:31:15

标签: mysql

我发现LIKE将比=运营商花费更多的执行时间。

select * from `texts` where `letter` like 'a';

上面带有LIKE参数的查询将需要3微秒才能执行。

select * from `texts` where `letter`='a';

带有=参数的上述查询将需要1微秒才能执行。

它们之间有什么区别吗?

检查SQL Fiddle

1 个答案:

答案 0 :(得分:0)

首先:LIKE不区分大小写 - 这当然需要花费一些处理时间每行。除此之外,设置查询(例如,将参数解析为LIKE的通配符)还需要一些时间每个查询

最重要的部分:LIKE在大多数情况下无法使用索引,因此请准备好在具有高选择性查询的较大表上执行更多的时间(按数量级)。

修改

正如@Ravinder指出的那样,在默认排序规则中,=运算符不区分大小写。