where 1=1会不会影响性能?

where 1=1会不会影响性能?

章节目录

文章目录

  • [where 1=1会不会影响性能?](#where 1=1会不会影响性能?)

那当sql的条件是动态的, 很多小伙伴会在where后面跟上1=1以保证语,经常看网上的八股文说1=1会影响性能, 建议用Mybatis的标签.到底是不是这样的呢?

那where 1=1 和 标签 两种方案,该如何选择?

  • 如果 MySQL Server版本小于 5.7,用了 MyBatis的话,建议使用 标签。

  • 如果 MySQL版本大于等于 5.7,两个随便选;

  • 因为在MySQL5.7后,有一个所谓的(常量折叠优化)可以在编译期消除重言式表达式。

  • 什么是重言式表达式,就是任何时候永远都为true的结果, 就会被优化器识别并优化掉,好奇的话你可以通过show warnings;

  • 查看,就会发现1=1没有了。并且我也在一张100多万的表里面把1=1 和标签分别做了100次查询, 耗时时间相差无几。

    查询, 耗时时间相差无几。

  • 所以5.7后两种方式随便选。当然现在 MySQL Server版本基本都是 5.7以上了,不是的话那赶紧升级吧还是。

相关推荐
陈果然DeepVersion3 个月前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(三)
spring boot·kafka·消息队列·java面试·大厂面试题·rag·ai智能客服
程序员老舅3 个月前
干货|腾讯 Linux C/C++ 后端开发岗面试
linux·c语言·c++·编程·大厂面试题
十年编程老舅7 个月前
C/C++ 高频八股文面试题1000题(一)
c++·八股文·大厂面试题·c++八股文·八股文面试题·c++面经
文心快码 Baidu Comate1 年前
文心快码帮你解大厂面试题:TCP关闭连接的过程,为什么要4次挥手,为什么最大等待时间是2*MSL?
tcp/ip·ai编程·大厂面试题·文心快码·智能编程助手
来一杯龙舌兰2 年前
【2024最新精简版】MyBatis面试篇
java·后端·面试·职场和发展·mybatis·大厂面试题
旷世奇才李先生2 年前
面试官:我们深入聊聊Java虚拟机吧
java·jvm·面试·java虚拟机·大厂面试题