Để lấy dữ liệu lớn theo chunk, dùng ORDER BY LIMIT. Cú pháp:
SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 0,10;
0 là dòng đầu tiên (zero-based), 10 là số dòng tối đa.
Lấy chunk tiếp theo (11-30):
SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 10,20; //11 to 30
Chunk 31-50:
SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 30 ,20; 31 to 50.
Khuyên dùng bảng tạm (temporary table):
DROP TEMPORARY TABLE IF EXISTS yourTemporaryTableName; CREATE TEMPORARY TABLE yourTempTableName AS ( SELECT *FROM yourOriginalTableName ORDER BY LIMIT 0,100 );
Sau đó truy vấn từ bảng tạm:
SELECT *FROM yourTemporaryTableName LIMIT 0,100; SELECT *FROM yourTemporaryTableName LIMIT 100,1000;
Cuối cùng DROP bảng tạm:
DROP TEMPORARY TABLE yourTemporaryTableName;
Demo: Tạo bảng 738 dòng, copy vào bảng tạm, lấy chunk 10, 20, 20 dòng.