Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Phân trang kết quả truy vấn Oracle mà không có phương pháp truy cập dữ liệu TABLE FULL SCAN

Trước hết:Quét toàn bộ bảng không phải lúc nào cũng là ác quỷ.

  1. Kiểm tra kế hoạch giải thích của bạn về chi phí cho truy vấn của bạn mà không cần phân trang
  2. Kiểm tra nó bên trong giải pháp phân trang của bạn

Ngoài ra, khi bạn thực hiện kiểm tra, hãy cố gắng sử dụng các bảng lớn có giá trị phân trang cao

Điểm bổ sung:

  • Việc phân trang mà không có thứ tự luôn nguy hiểm vì bạn không thể chắc chắn, theo thứ tự Oracle cung cấp kết quả của bạn cho "trang" tiếp theo của bạn -> kết quả có thể không lặp lại được
  • Cũng có thể trong một kết quả được sắp xếp theo thứ tự, "mục nhập mới" trong một trang trước "chế độ xem" hiện tại của bạn sẽ ảnh hưởng đến "trang tiếp theo" của bạn

Tôi ngoại trừ, rằng bạn muốn "lưu trữ" một truy vấn trong DB và lấy dữ liệu, từng trang, cho đến khi có gì đó thay đổi trong dữ liệu được gạch dưới?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn SQL của Oracle để trừ thời gian khỏi dấu thời gian

  2. oracle pl / sql kết quả thành một chuỗi

  3. Nhóm các bản ghi từng giờ hoặc từng ngày và lấp đầy khoảng trống bằng 0 hoặc null trong mysql

  4. làm thế nào để thực hiện một hàm để trả về loại hàng từ một bảng trong pl / sql?

  5. Tìm kiếm bên trong bảng Loại bản ghi