SQL Server Execution Plan Çeşitleri

SQL Server üzerinde üç farklı çeşitte Execution Plan bulunmaktadır. Text Plan Execution plandaki adımları text olarak gösterildiği şekildir, anlaşılması grafiksel planlara nispeten daha zordur. SHOWPLAN_ALL: Sorgunun Estimated Execution Planı TEXT olarak gösterilir. SHOWPLAN_TEXT: Sorgunun Estimated Execution Plan’ı daha az detaylı bir şekilde gösterilir. STATISTICS PROFILE: Sorgunun Actual Execution Plan’ı tüm detaylarıyla gösterilir. XML Plan XML… Okumaya devam et SQL Server Execution Plan Çeşitleri

SQL Server Lock ve Lock Escalation

Lock Escalation: SQL Server’ın aşırı memory kullanımını önlemek için kullandığı lock yükseltme yöntemidir. Tek transaction tek bir tablo yada index üzerinde 5K+(key, page) lock koyarsa, lock’ı bir üste taşıyıp Ojbect’i lock’lamaktadır. Not : ALTER TABLE SET LOCK_ESCALATION option is set to AUTO — ise 5K+ kuralı geçerlidir. Hemen bir örnekle deneyelim, Index olmayan bir alan üzerinde… Okumaya devam et SQL Server Lock ve Lock Escalation

SQL Server SELECT Nasıl Çalışır?

SQL Server’a üzerinde çalıştırılan bir SELECT sorgu hangi aşamalardan geçip, sonuca nasıl ulaşıldığına göz atalım. SQL Server Database Engine üzerinde bulunan bileşenler Query Optimizer: Mantıksal sorgu gereksinimi için verimli fiziksel bir execution plan bulmaktan sorumlu bileşendir. Language Processing: Sorgunun syntax olarak doğruluğunu kontrol eder, sorguda geçen tabloları ve varsa GROUP BY ‘ı ya da gerekliliğini… Okumaya devam et SQL Server SELECT Nasıl Çalışır?

MongoDB – M001

show dbs //veritabanlarını listeler use sample_training //veritabanına geçiş yapar show collections //collection listeler db.inspections.findOne(); //tek kayıt getirir. db.zips.find({“state”: “NY”}) //koşula uygun tüm kayıtları getirir. it //dönen kayıtlar 20’şerli olarak listelenir, sonraki sayfaya geçmek için kullanılır. db.zips.find({“state”: “NY”}).count() //count almak için kullanılır. db.zips.find({“state”: “NY”, “city”: “ALBANY”})db.zips.find({“state”: “NY”, “city”: “ALBANY”}).pretty() //sonucu okunabilir göstermek için, kullanılır. db.inspections.insert({“id” :… Okumaya devam et MongoDB – M001

Implicit Conversion nedir? #QueryOptimization

Implicit Conversion yine execution planlarda sık karşılaşılan ancak genelde umursanmayan ya da performansa olan etkisi bilinmeyen bir uyarıdır. Ne zaman oluşur? Tip dönüşümleri yapıldığında ya da SQL Engine’in tip dönüşümü yapmaya zorlandığı durumlarda ortaya çıkar. Karşılaşmak istemediğimiz, kolay çözülebilen ancak frequency query’lerde olduğu zaman SQL Server’ın CPU’suna büyük yük getirebilecek bir uyarıdır kendileri. StackOverFlow veritabanı… Okumaya devam et Implicit Conversion nedir? #QueryOptimization