4 Haziran 2012 Pazartesi
TROUG DBA SIG toplantısındaki sunumum
Geçen hafta 31 Mayıs 2012 Perşembe günü Bilginç IT Academy'de düzenlenen TROUG DBA SIG toplantısında yapmış olduğum sunuma linke tıklayarak erişebilirsiniz. Tüm katılımcılara ve oturumu düzenleyen herkese çok teşekkür ederim.
1 Haziran 2012 Cuma
SQL Profiller nelerdir ve neden ihtiyaç duyulur?
DBMS_XPLAN
paketi ile SQL komutlarının çalıştırma planının analiz edilmesi istenildiğinde, bazı durumlarda
çalıştırma planı boyunca aşağıdaki satır görülebilmektedir.
Note
-----------
SQL profile "SYS_SQLPROF_012ad8267d9c0000"
used FOR this statement
Bunun
anlamı şudur;
·
SQL
komutunun değerlendirmesi esnasında harici bir yardımcı nesne kullanılmıştır.
·
Bu
yardımcı nesne çalıştırma planını değiştirmiştir veya en azından etkilemiştir.
Bu noktada
bir takım yardımlar almak faydalı olacaktır. Mesela, bu profil nesne nedir? Ne
iş yapar? Ve en önemliside SQL komutlarını değerlendirirken neden “harici” bir
yardıma ihtiyaç duyulmaktadır?
Oracle
optimizer ile ilgili problem aslında, geleneksel olarak Oracle optimizer’ın
çalıştırma planları oluşturmak için veri istatistiklerine güvenmesinden
kaynaklanmaktadır. İstatistikler aslında
gerçek verinin oldukça basitleştirilmiş tanımı şeklinde yer almaktadır. Oldukça
büyük GB boyutundaki bir tablonun kolon istatistikleri, sadece belirli şeyleri
içermektedir, değerlerin toplamı, benzersiz(distinct) değerlerin miktarı,
minimum ve maksimum değerler gibi... Diğer bir deyişle, istatistikler verinin
genel şeklini yakalar, ancak pekçok alt seviye detay bilgisi kaybolmaktadır.
Bu kayıp
detay bilgisini telafi etmek ve hala mantıklı ve doğru tahminler sağlamak için,
optimizer veri hakkında bazı varsayımları bulundurmaktadır. Bilhassa optimizer
bu durumlarda şu şekilde düşünmektedir:
·
Veri
değerleri uniform olarak dağılmıştır(diğer bir deyişle 2 nolu değer sıklıkla 5
nolu değerdir)
·
Kayıtlar
uniform olarak dağılmıştır(diğer bir deyişle fiziksel bir kümeleme veya veri
sıralaması yoktur).
·
Değerlerin
sıralaması aralıksızdır(diğer bir deyişle aralık arasında bir boşluk yoktur)
Kaydol:
Kayıtlar (Atom)