Dari panduan konsep :
Kelemahan utama ROWID adalah meskipun biasanya stabil, ia dapat berubah dalam beberapa keadaan:
- Tabel dibuat ulang (
ALTER TABLE MOVE
...) - Ekspor / Impor jelas
- Tabel partisi dengan mengaktifkan gerakan baris
Kunci utama mengidentifikasi baris secara logis , Anda akan selalu menemukan baris yang benar, bahkan setelah delete+insert. ROWID mengidentifikasi baris secara fisik dan tidak gigih seperti kunci utama.
Anda dapat dengan aman menggunakan ROWID dalam satu pernyataan SQL karena Oracle akan menjamin hasilnya koheren, misalnya untuk menghapus duplikat dalam sebuah tabel. Untuk berjaga-jaga, saya sarankan Anda hanya menggunakan melintasi pernyataan ROWID ketika Anda memiliki kunci pada baris (PILIH ... UNTUK UPDATE).
Dari sudut pandang kinerja, akses kunci utama sedikit lebih mahal tetapi Anda biasanya akan melihat ini hanya jika Anda melakukan banyak akses baris tunggal. Jika kinerja sangat penting, Anda biasanya bisa mendapatkan manfaat yang lebih besar dalam hal ini dari menggunakan pemrosesan set daripada pemrosesan baris tunggal dengan rowid. Khususnya, jika ada banyak perjalanan pulang pergi antara DB dan aplikasi, biaya akses baris mungkin akan diabaikan dibandingkan dengan biaya perjalanan pulang pergi.