Re: Oracle indexleri
Posted by ErmanArslansOracleBlog on
URL: http://erman-arslan-s-oracle-forum.114.s1.nabble.com/Oracle-indexleri-tp9742p9744.html
ilgili kolonda unique veya primary key constraint varsa -> unique scan. Bu hızlı dır. Tek row döndürür, istenen row u bulduğunda direk çıkar, tüm indexi gezmez.
Range Scan, İndex in içinde belli bir alan için yapılan access yöntemi Sınırlı veya sınırsız olabilir.
Index Full scan 'de tüm index elemanlarına sıralı şekilde tek tek bakar. Tek tek index entrylerinin üzerinden geçer.
Index Fast Full scan de ise sanki Full Table scan yapar gibi tüm indexi tarar. Yani birden fazla block u aynı okur. Bunun döndürdüğü sonuçlar sorted değildir.
Bunlar tabii genel tanımlar, kullanım sırasında daha iyi anlaşılır. Hangi durumlarda hangi index access methodunun tercih edileceği, hangi durumlar gerçekleşirse veya hangi mimari dizayna sahipseniz, hangi query de hangi index access methodunun kullanılacağı değişiklik gösterecektir.
Örneğin indexiniz unique değilse unique scan bekleyemezsiniz. Yada indexiniz varsa ama unique değilse ve siz indexli kolonlardan leading olanını where conditionında kullanırsa, oracle 'ın range scan yapmasını beklersiniz. Çünkü A leading se, Oracle conditiona göre A üzerinde ilgili range 'ten işi halleder. Bunu yapamayacağı bir condition verilirse ve yine de ilgili conditionı kolonu indexte varasa, conditiona göre örneğin index full scan de yapıyor olabilir.