Daha fazla bilgi için: Oracle, (benzersiz kısıtlamalar için yaptığı gibi) otomatik olarak bir dizin oluşturmaz çünkü (a) kısıtlamayı uygulamanız gerekmez ve (b) bazı durumlarda buna ihtiyacınız yoktur.
Ancak çoğu zaman bir dizin oluşturmak isteyeceksiniz (aslında Oracle Apex'te "dizine eklenmemiş yabancı anahtarlar" raporu var).
Uygulamanın üst tablodaki bir satırı silmesi veya PK değerini (daha nadir olan) güncellemesi gerektiğinde, dizin yoksa DML zarar görür, çünkü tüm alt tabloyu kilitlemesi gerekecektir.
Genellikle tercih olgusu değil FK, bir "statik verileri" tablosuna olduğu bir dizin eklemek olduğunu ebeveyn masaya güncelleştirme ve silme yapmadım olan bir sütunun tanımlar alanı (durum kodları örneğin bir tablo), doğrudan uygulama tarafından. Bununla birlikte, sütuna bir dizin eklemek uygulamadaki önemli sorgulara fayda sağlıyorsa, dizin yine de iyi bir fikir olacaktır.