Không ai thực sự đề cập đến điều này, nhưng cách chính xác để sử dụng SQL_CALC_FOUND_ROWS
kỹ thuật như thế này:
- Thực hiện truy vấn của bạn:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 0, 10
- Sau đó, chạy truy vấn này ngay sau đó:
SELECT FOUND_ROWS()
. Kết quả của truy vấn này chứa toàn bộ số truy vấn trước đó, tức là như thể bạn chưa sử dụngLIMIT
mệnh đề. Truy vấn thứ hai này nhanh chóng ngay lập tức vì kết quả đã được lưu vào bộ nhớ đệm.