mysql量級數據表的分頁優化方案

前言mysql

Limit分頁通用方案
select * from yundou_v3.bill_info limit 100,20;
select * from yundou_v3.bill_info limit 400000,20;
select * from yundou_v3.bill_info limit 600000,20;
select * from yundou_v3.bill_info limit 800000,20;
select * from yundou_v3.bill_info limit 1000000,20;

圖片


量級數據分頁方案

SELECT * FROM yundou_v3.bill_info WHERE id>= (
    select id as id from yundou_v3.bill_info order by id asc limit 100,1
) limit 20;

SELECT * FROM yundou_v3.bill_info WHERE id>= (
    select id as id from yundou_v3.bill_info order by id asc limit 400000,1
) limit 20;

SELECT * FROM yundou_v3.bill_info WHERE id>= (
    select id as id from yundou_v3.bill_info order by id asc limit 600000,1
) limit 20;

SELECT * FROM yundou_v3.bill_info WHERE id>= (
    select id as id from yundou_v3.bill_info order by id asc limit 800000,1
) limit 20;

SELECT * FROM yundou_v3.bill_info WHERE id>= (
    select id as id from yundou_v3.bill_info order by id asc limit 1000000,1
) limit 20;

mysql量級數據表的分頁優化方案

實現步驟:

1.獲取start_idsql

select id as start_id from yundou_v3.bill_info order by id asc limit  n*page_size ,1

2.獲取start_id後面的n條數據ide

SELECT * FROM yundou_v3.bill_info WHERE id>= 「start_id」 limit 20;
相關文章
相關標籤/搜索