Hanya untuk info lebih lanjut: Oracle tidak membuat indeks secara otomatis (seperti yang dilakukannya untuk batasan unik) karena (a) tidak diperlukan untuk memaksakan batasan, dan (b) dalam beberapa kasus Anda tidak memerlukannya.
Paling besar waktu, namun Anda akan ingin membuat indeks (pada kenyataannya, di Oracle Apex ada laporan dari "kunci asing unindexed").
Setiap kali aplikasi perlu menghapus baris dalam tabel induk, atau memperbarui nilai PK (yang lebih jarang), DML akan menderita jika tidak ada indeks, karena harus mengunci seluruh tabel anak.
Kasus di mana saya biasanya memilih untuk tidak menambahkan indeks adalah di mana FK berada ke tabel "data statis" yang mendefinisikan domain kolom (misalnya tabel kode status), di mana pembaruan dan penghapusan pada tabel induk tidak pernah dilakukan langsung oleh aplikasi. Namun, jika menambahkan indeks pada kolom memberi manfaat pada kueri penting dalam aplikasi, maka indeks akan tetap menjadi ide yang bagus.