Mysql =和LIKE之间的性能差异

Mysql =和LIKE之间的性能差异,mysql,Mysql,我发现LIKE比=操作符需要更多的执行时间 select * from `texts` where `letter` like 'a'; 上述带有LIKE参数的查询执行时间为3微秒 select * from `texts` where `letter`='a'; 上述带有=参数的查询执行时间为1微秒 select * from `texts` where `letter`='a'; 他们之间有什么区别吗 检查首先:LIKE不区分大小写-这当然需要每行花费一些处理时间。除此之外,设置查询(

我发现
LIKE
=
操作符需要更多的执行时间

select * from `texts` where `letter` like 'a';
上述带有
LIKE
参数的查询执行时间为3微秒

select * from `texts` where `letter`='a';
上述带有
=
参数的查询执行时间为1微秒

select * from `texts` where `letter`='a';
他们之间有什么区别吗


检查

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

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

编辑


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

微秒级的差异可能只是噪声。试着用相当多的数据运行它。我只给出示例数据,如果表包含数百万条记录,那么它可能会影响性能。@Sadikhasan。我没有投反对票,但是1微秒和3微秒之间的差别是噪音。你应该在数百万行上运行测试来检查性能特征。你所说的
LIKE是不区分大小写的
也不区分大小写。我请求diagree:尝试
选择'A'='A','A'LIKE'A'
除非使用
binary
,否则无论是
equals
还是
like
@Ravinder,它都是不区分大小写的。。。啊,我的服务器上总是有
collationserver=utf8\u bin
,所以这当然是不同的。我将编辑答案来提及这一点。