Mybatis中<where>标签 后 1=1 的作用
但是这样很可能会造成非常大的性能损失,因为添加了 “where 1=1 ”的过滤条件之后,数据库系统就无法使用索引等查询优化策略,数据库系统将会被迫对每行数据进行扫描(即全表扫描) 来比较此行是否满足过滤条件,当表中的数据量较大时查询速度会非常慢;(实际上where 1=1 也会走索引,不影响查问效率,咱们写的sql指令会被mysql 进行解析优化成本人的解决指令,在这个过程中 1 = 1 这类无意义的条件将会被优化。这样,不管if里面的判断如何,都能保证最终的sql语句是正确的。这样写会产生很大问题,
原创
2024-01-08 14:33:20 ·
526 阅读 ·
0 评论