Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Lấy dữ liệu lớn theo từng phần (chunk) trong MySQL

Để 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.