Gần đây tôi đã phát hiện ra rằng MySQL có một offset
tính năng. Tôi đã cố gắng tìm tài liệu về kết quả của bù, hoặc sự khác biệt giữa bù và biến thể giới hạn, nhưng dường như tôi không thể tìm thấy những gì tôi đang tìm kiếm.
Hãy nói rằng tôi có 10.000 hàng trong một bảng và tôi muốn 25 kết quả, từ hàng 1.000. Theo như tôi đã đạt được, tôi có thể làm cả hai để có được kết quả như nhau:
SELECT id,name,description FROM tablename LIMIT 1000,25
SELECT id,name,description FROM tablename LIMIT 25 OFFSET 1000
Những gì tôi muốn biết là sự khác biệt giữa hai.
- Điều này thực sự làm tương tự hay sự hiểu biết của tôi sai?
- Là một chậm / nhanh hơn trong các bảng lớn hơn
- Kết quả của phần bù có thay đổi khi tôi thực hiện không
WHERE column=1
(giả sử cột có> 100 giá trị khác nhau) - Kết quả của phần bù có thay đổi khi tôi thực hiện không
ORDER BY column ASC
(vì nó có giá trị ngẫu nhiên)
Nếu đây là một câu hỏi 'ngu ngốc' và ai đó biết bất kỳ tài liệu nào khai sáng chủ đề, vui lòng thêm chúng vào phần trả lời.
Tôi có cảm giác bù đắp bỏ qua các hàng X đầu tiên được tìm thấy trong cơ sở dữ liệu, không quan tâm đến việc sắp xếp và vị trí.