[Mysql] Limit分页性能陷阱

来源:互联网 发布:淘宝拍a发b处罚力度 编辑:程序博客网 时间:2024/05/21 12:46

由于需要支持多种数据库,分页查询的sql写成如下的样子:

SELECT * FROM (SELECT * FROM tb) tLIMIT 0,50

结果,4w总数,每页取50条,竟然需要2.5s!

经过反复调试,发现去掉嵌套,只需100ms!! 做了一些特殊处理后,sql改成:

SELECT * FROM tbLIMIT 0,50

思考:在嵌套外面加LIMIT,子查询需要全部检索,因此耗时;不用嵌套时,查到需要的50条就返回了,所以较快。

0 0
原创粉丝点击