PostgreSQL兩種分頁方法查詢時間比較
阿新 • • 發佈:2019-01-04
資料庫中存了3000W條資料,兩種分頁查詢測試時間
第一種
SELECT * FROM test_table WHERE i_id>1000 limit 100; Time: 0.016s 第二種 SELECT * FROM test_table limit 100 OFFSET 1000; Time: 0.003s 第一種 SELECT * FROM test_table WHERE i_id>10000 limit 100; Time: 0.004s 第二種 SELECT * FROM test_table limit 100 OFFSET 10000; Time: 0.508s 第一種: SELECT * FROM test_table WHERE i_id>100000 limit 100;
Time: 0.003s
第二種:
SELECT * FROM
test_table limit 100 OFFSET 100000;
Time: 2.377s
SELECT * FROM
test_table WHERE c_act='登入' limit 100 OFFSET 100000;
Time: 3.649s
第一種:
SELECT * FROM
test_table WHERE i_id>1000000 limit 100;
Time: 0.004s
第二種:
SELECT * FROM
test_table limit 100 OFFSET 1000000;
Time: 14.403s
第一種:
SELECT * FROM
test_table WHERE i_id>10000000 limit 100;
Time: 0.057s
第二種:
失去等待出來結果的耐心!!!
建議使用第一種分頁方法
SELECT * FROM test_table WHERE i_id>1000 limit 100; Time: 0.016s 第二種 SELECT * FROM test_table limit 100 OFFSET 1000; Time: 0.003s 第一種 SELECT * FROM test_table WHERE i_id>10000 limit 100; Time: 0.004s 第二種 SELECT * FROM test_table limit 100 OFFSET 10000; Time: 0.508s 第一種: SELECT * FROM test_table WHERE i_id>100000
建議使用第一種分頁方法