Anda tidak andal mengontrol dalam urutan apa Oracle mengambil baris tabel tanpa ORDER BY
.
Selanjutnya, tanpa /*+APPEND*/
petunjuk, Oracle akan menyimpan baris secara fisik di tabel tumpukan di mana ada ruang, yang mungkin tidak di akhir tabel! Anda mungkin berpikir Oracle menyisipkannya secara berurutan tetapi DML atau aktivitas bersamaan (penyisipan 2+ sesi) mungkin menghasilkan organisasi fisik yang berbeda.
Anda dapat menggunakan tabel INDEX ORGANIZED untuk menyimpan baris dalam urutan PK. Sebagian besar kueri sederhana setelahnya di tabel itu akan menghasilkan serangkaian baris yang diurutkan. Namun, ini tidak menjamin bahwa Oracle akan memilih baris dalam urutan itu jika Anda tidak menentukan ORDER BY (bergantung pada kueri dan jalur akses, baris dapat muncul dalam urutan apa pun).
Anda juga dapat menggunakan tampilan dengan pesanan berdasarkan, ini mungkin pilihan terbaik Anda jika Anda tidak dapat menyentuh aplikasi (ganti nama tabel, buat tampilan dengan nama tabel, biarkan aplikasi berpikir bahwa itu menanyakan tabel). Saya tidak tahu apakah itu layak untuk kasus Anda.