Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Praktik terbaik untuk pagination di Oracle?

Jika Anda sudah menggunakan analytics (ROW_NUMBER() OVER ... ) kemudian menambahkan fungsi analitik lain pada partisi yang sama akan menambah biaya kueri yang dapat diabaikan.

Di sisi lain, ada banyak cara lain untuk melakukan pagination, salah satunya menggunakan rownum :

SELECT * 
  FROM (SELECT A.*, rownum rn
          FROM (SELECT *
                  FROM your_table
                 ORDER BY col) A
         WHERE rownum <= :Y)
 WHERE rn >= :X

Metode ini akan lebih unggul jika Anda memiliki indeks yang sesuai pada kolom pemesanan. Dalam hal ini, mungkin lebih efisien menggunakan dua kueri (satu untuk jumlah total baris, satu untuk hasil).

Kedua metode tersebut sesuai, tetapi secara umum jika Anda menginginkan jumlah baris dan kumpulan pagination, maka penggunaan analytics lebih efisien karena Anda hanya melakukan kueri baris sekali.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Keamanan Database Oracle – Enkripsi dan Dekripsi

  2. cara memeriksa Database konsisten setelah pemulihan tidak lengkap

  3. Pemeriksa sintaks SQL online yang sesuai dengan banyak basis data

  4. Skrip mulai dan hentikan EBS R12

  5. Trailing Zero