Trong MySQL, bạn có thể áp dụng phân trang cho kết quả truy vấn sử dụng từ khóa LIMIT
và OFFSET
. Điều này rất hữu ích khi bạn cần xử lý một lượng lớn dữ liệu và chỉ muốn hiển thị một phần nhỏ dữ liệu tại một thời điểm, chẳng hạn như khi hiển thị kết quả trên các trang web.
Sử dụng LIMIT
LIMIT
được sử dụng để giới hạn số lượng bản ghi được trả về từ truy vấn.
Cú pháp:
SELECT column_names
FROM table_name
LIMIT number_of_records;
Ví dụ: Để lấy 10 bản ghi đầu tiên từ bảng nguoi_dung
:
SELECT * FROM nguoi_dung
LIMIT 10;
Sử dụng LIMIT
với OFFSET
OFFSET
chỉ định vị trí bắt đầu lấy bản ghi trong bảng, kết hợp với LIMIT
để áp dụng phân trang.
Cú pháp:
SELECT column_names
FROM table_name
LIMIT number_of_records OFFSET start_position;
Trong đó start_position
là chỉ số bắt đầu (bắt đầu từ 0), và number_of_records
là số lượng bản ghi bạn muốn lấy.
Ví dụ: Để lấy 10 bản ghi tiếp theo sau 20 bản ghi đầu tiên từ bảng nguoi_dung
(tức là bản ghi từ 21 đến 30):
SELECT * FROM nguoi_dung
LIMIT 10 OFFSET 20;
Một cách khác để viết truy vấn trên mà không cần sử dụng OFFSET
rõ ràng là đặt số lượng bản ghi và vị trí bắt đầu cách nhau bằng dấu phẩy:
SELECT * FROM nguoi_dung
LIMIT 20, 10; -- Bỏ qua 20 bản ghi đầu tiên, lấy 10 bản ghi tiếp theo
Phân trang là một kỹ thuật quan trọng, đặc biệt trong việc phát triển ứng dụng web, nơi mà việc hiển thị hàng nghìn hoặc hàng triệu bản ghi cùng một lúc có thể làm giảm hiệu suất và ảnh hưởng đến trải nghiệm người dùng.
Comments