-
如果条件字段都是非索引字段,那么效率都差不多,就看结果大小。
-
有差别的在于条件字段是索引字段时:
“=”在索引的情况下都会进行索引扫描,所以效率总是高的。
“like”当模糊查询为右模糊,比如'abc%'时,扫描索引,高效。当模糊查询含左模糊时,比如'%abc',进行全表扫描,低效。
“in”的作用等同于or,也是进行索引扫描,高效。
另外,“in”还可以连接查询结果集,这时往往会和exists做比较。
a、select * from t1 where f1 in(select f1 from t2 where t2.fx='x'),其中子查询的where里的条件不受外层查询的影响,这类查询一般情况下,自动优化会转成exist语句,也就是效率和exist一样。
b、select * from t1 where f1 in(select f1 from t2 where t2.fx=t1.fx),其中子查询的where里的条件受外层查询的影响,这类查询的效率要看相关条件涉及的字段的索引情况和数据量多少,一般效率不如exists,数据量大时,效果就更加明显。
mysql语句中条件查询in、like、=的效率
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
mysql多个in like mysql like 多个条件
在互联网行业,MySQL数据库因其廉价、灵活、社区覆盖面广,且主要功能不输收费昂贵的Oracle,成为互联网公司的首选,使用范围非常广泛。正是如此,就产生了MySQL性能优化方面的需求。今天牛鹭学院给大家整理了一些MySQL优化方面的实用技巧,希望能帮到大家。 Schema与数据类型优化整数通常是标识列最好的选择,因为它们很快并且可以使用 AUTO_INCREMENT完全“随机”的字符
mysql多个in like mysql like 多个条件 mysql 批量删除 mysql 批量建表 mysql 禁用触发器 -
mysql like 匹配多个条件 mysql like多个值
针对不同的应用场景创建合适的索引对于优化mysql查询速度非常关键,今天一起来学习一下mysql索引相关的原理性内容。 mysql索引的数据结构如图是以二叉搜索树为数据结构建立起的索引,这样的索引数据结构树高是O(log2n), 我们知道mysql数据记录和索引树节点都是存在磁盘上的,mysql磁盘IO的次数是和索引树高成正比的。一张有1千万条记录的表索引树的树高大约是23,也就是近乎
mysql like 匹配多个条件 mysql like 多个条件 mysql 索引 mysql 联合主键 mysql 联合索引