由于需要支持多种数据库,分页查询的sql写成如下的样子:
SELECT * FROM (
SELECT * FROM tb
) t
LIMIT 0,50
结果,4w总数,每页取50条,竟然需要2.5s!
经过反复调试,发现去掉嵌套,只需100ms!! 做了一些特殊处理后,sql改成:
SELECT * FROM tb
LIMIT 0,50
思考:在嵌套外面加LIMIT,子查询需要全部检索,因此耗时;不用嵌套时,查到需要的50条就返回了,所以较快。
由于需要支持多种数据库,分页查询的sql写成如下的样子:
SELECT * FROM (
SELECT * FROM tb
) t
LIMIT 0,50
经过反复调试,发现去掉嵌套,只需100ms!! 做了一些特殊处理后,sql改成:
SELECT * FROM tb
LIMIT 0,50
mysql db 優化: http://lijingtongld.blog.163.com/blog/static/46504692201011242610442/
https://docs.oracle.com/cd/E19501-01/819-3659/gcmaz/ Java Type Java DB
select sum(shl)as sumshl from View_count where spbh= '100103021' and rq >'