一、总条数查询
分页查询时,每次查询都会单独查询总条数的sql,此时可以通过Redis缓存总条数,数据同步时更新缓存。这样查询时就不必再查询总条数,从缓存中获取,减少查询时间。但是,有查询条件时,查询出的总条数会发生变化,此时还是需要加以判断,去查询总条数。
二、SQL语句优化
页数越往后,查询越慢,我们针对此情况进行优化。
-- before
-- query time : 4.797 s
SELECT *
FROM bcc_biz_flow_history
WHERE 1=1
ORDER BY id DESC
LIMIT 4333320, 10;
-- after
-- query time : 2.562 s
SELECT *
FROM bcc_biz_flow_history
WHERE id <= (
SELECT id
FROM bcc_biz_flow_history
WHERE 1=1
ORDER BY id DESC
LIMIT 4333320, 1)
ORDER BY id DESC
LIMIT 10;
三、
// TODO