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以上了,不是的话那赶紧升级吧还是。

相关推荐
Mahir0819 天前
MyBatis 分页与插件深度解密:从插件机制到三大分页方案原理全解
java·后端·mybatis·mybatis-plus·大厂面试题
专注前端30年23 天前
2025-2026 大厂 Vue2Vue3 高频面试题 Top100
百度·华为·大厂面试题·阿里·前端vue2/3
Mahir0825 天前
Spring Boot 自动装配深度解密:从原理到自定义 Starter 实战
java·spring boot·后端·自动装配·自定义starter·大厂面试题
Mahir081 个月前
Redis 三大缓存问题:穿透、击穿、雪崩的原理与完整解决方案
数据库·redis·缓存·面试·大厂面试题
陈果然DeepVersion7 个月前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(三)
spring boot·kafka·消息队列·java面试·大厂面试题·rag·ai智能客服
程序员老舅8 个月前
干货|腾讯 Linux C/C++ 后端开发岗面试
linux·c语言·c++·编程·大厂面试题
十年编程老舅1 年前
C/C++ 高频八股文面试题1000题(一)
c++·八股文·大厂面试题·c++八股文·八股文面试题·c++面经