比如 select * from table limit 100如果表里有100万个数据,那么这个语句会全表扫描,把符合要求的100万数据都筛选出来然后再取前100行而假如知道id是从1开始递增那么select * from table where id between 1 and 100性能就会高很多?
1 回答
![?](http://img1.sycdn.imooc.com/533e4c7b00013f3c02400205-100-100.jpg)
心有法竹
TA贡献1866条经验 获得超5个赞
形如 select * from table limit 100
的 sql 并不会造成全表扫描, 除非加上查询或排序条件.
select * from table where id between 1 and 100
会比较快前提是 id 是主键或唯一键
以上两者的速度上不会有太大区别
添加回答
举报
0/150
提交
取消