Limit全表查询

来源:2-3 数据操作语言:数据分页

慕哥8458337

2021-05-31 14:32:47

http://img.mukewang.com/climg/60b482440957604118560568.jpg

如图为执行顺序,SELECT子句先执行完了才执行LIMIT子句,照这样的逻辑看,SELECT不就直接把全表的记录都查出来了,然后通过LIMIT进行过滤吗。这样下去如果有一亿条记录,我只看前五条,用limit 0,5 ,它还是会先执行SELECT子句查询一亿条记录,然后执行limit取前五条,这样耗时就很大,请问这个该怎么优化呢?

写回答

1回答

好帮手慕小尤

2021-05-31

同学你好,并不是先查询出一亿条记录,然后执行limit取前五条。而是根据limit查询出前五条的数据。也就是说加上 limit 后,只要找到了对应的几条记录,就不会继续向下扫描了,可以大大提高效率。

祝学习愉快!

0

0 学习 · 16556 问题

查看课程

相似问题

回答 1

关于查询

回答 1

查询的结果

回答 1