where 1=1低效?

最近一直有点纠结于sql语句里面的where 1=1是不是低效的?有人跟我说不会降低sql的效率,但是我理解这里应该是低效的。有一些是说where 1=1会造成数据库表的优化失效,比如聚集索引的什么,具体我也不清楚里面的原理是怎样的。

我这样觉得:

当我们select 1 from table 时,我们可以看到在结果集的每一列都加了1,从这里我判断是全表扫描了的。所以当select * from table where 1=1时,这里并不是简单的bool判断,而是给每一列加上了1然后判断1=1,因为当我们直接写成where true时是会报错的。所以从这点上分析,我理解为where 1=1会造成全表扫描故而这样写也是低效的。但是我在上100w条数据的表里面做测试发现,查询时间大多是一样的,偶尔会相差1秒的样子。

所以请大牛们能给点意见,到底where 1=1是不是低效的?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值