Yürütme planlarını karşılaştırma

Şunlar için geçerlidir: SQL Server

Bu makalede, SQL Server Management Studio Plan Karşılaştırma özelliği kullanılarak gerçek grafik yürütme planları arasındaki benzerliklerin ve farklılıkların nasıl karşılaştırıldığı açıklanmaktadır. Bu özellik SQL Server Management Studio v16 ile başlayarak kullanılabilir.

Uyarı

Gerçek yürütme planları, Transact-SQL sorguların veya toplu işlemlerin yürütülmesinden sonra oluşturulur. Bu nedenle, gerçek bir yürütme planı gerçek satır sayısı, kaynak kullanım ölçümleri ve çalışma zamanı uyarıları (varsa) gibi çalışma zamanı bilgilerini içerir. Daha fazla bilgi için bkz. Gerçek yürütme planını görüntüleme.

Planları karşılaştırma özelliği, veritabanı uzmanlarının sorun giderme nedenleriyle yapması gereken bir şeydir:

  • Bir sorgu veya toplu işin neden aniden yavaşlamadığını öğrenin.
  • Sorgu yeniden yazma işleminin etkisini anlama.
  • Şema tasarımına (yeni dizin gibi) getirilen belirli bir performans artırıcı değişikliğin yürütme planını nasıl etkili bir şekilde değiştirdiğini gözlemleyin.

Plan Karşılaştırması menü seçeneği, daha önce belirtilen tüm nedenlerle farklı davranışları açıklayan benzerliklerin ve değişikliklerin daha kolay tanımlanması için iki farklı yürütme planının yan yana karşılaştırmasına olanak tanır. Bu seçenek aşağıdakiler arasında karşılaştırma yapabilir:

  • Daha önce kaydedilmiş iki yürütme planı dosyası (.sqlplan uzantısı).
  • Bir etkin yürütme planı ve daha önce kaydedilmiş bir sorgu yürütme planı.
  • Sorgu Deposu'nda iki seçili sorgu planı.

İpucu

Plan Karşılaştırma, SQL Server'ın eski sürümlerinden bile tüm .sqlplan dosyalarıyla çalışır. Ayrıca, bu seçenek çevrimdışı karşılaştırmayı etkinleştirir, bu nedenle bir SQL Server örneğine bağlanmaya gerek yoktur.

İki yürütme planı karşılaştırıldığında, planın temelde aynı olan bölgeleri aynı renk ve desende vurgulanır. Bir planda renkli bir bölge seçildiğinde, diğer plan bu plandaki eşleşen düğümde ortalanır. Yine de eşleşmeyen işleçleri ve yürütme planlarının düğümlerini karşılaştırabilirsiniz, ancak bu durumda karşılaştırmak için işleçleri el ile seçmeniz gerekir.

Önemli

Benzerlikleri denetlemek için yalnızca planın şeklini değiştirmesi düşünülen düğümler kullanılır. Bu nedenle, planın aynı alt bölümünde yer alan iki düğümün ortasında renkli olmayan bir düğüm olabilir. Bu durumda renk eksikliği, bölümlerin eşit olup olmadığını denetlerken düğümlerin dikkate alınmadığını gösterir.

Yürütme planlarını karşılaştırma

  1. Dosya menüsünü kullanarak daha önce kaydedilmiş bir sorgu yürütme planı dosyasını (.sqlplan) açın ve Dosyayı Aç'ı seçin veya bir plan dosyasını Management Studio penceresine sürükleyin. Alternatif olarak, sorguyu yeni yürütür ve yürütme planını görüntülemeyi seçerseniz sonuçlar bölmesinde yürütme planı sekmesine geçin.

  2. Yürütme planının boş bir alanına sağ tıklayın ve Showplan'ı Karşılaştır'ı seçin.

    Showplan'ı Karşılaştır'a sağ tıklamanın ekran görüntüsü.

  3. Karşılaştırmak istediğiniz ikinci sorgu planı dosyasını seçin. planları karşılaştırabilmeniz için ikinci dosya açılır.

  4. Karşılaştırılan planlar, varsayılan olarak biri üstte, diğeri altta olmak üzere yeni bir pencere açar. Varsayılan seçim, karşılaştırılan planlarda ortak olan ancak planlar arasındaki farkları gösteren bir işlecin veya düğümün ilk oluşumudur. Vurgulanan tüm işleçler ve düğümler her iki karşılaştırmalı planda da bulunur. Üst veya sol planlarda vurgulanmış bir işleç seçildiğinde, alt veya sağ planlarda ilgili işleç otomatik olarak seçilir. Karşılaştırılan planlardan herhangi birinde ( SELECT aşağıdaki görüntüdeki düğüm) kök düğüm işleci seçildiğinde, diğer karşılaştırılan planda ilgili kök düğüm işleci de seçilir.

    Kaydedilen iki plan dosyasının Plan karşılaştırmasının ekran görüntüsü.

    İpucu

    Yürütme planının boş bir alanına sağ tıklayıp Bölücü Yönlendirmesini Aç/Kapat'ı seçerek yürütme planı karşılaştırmasının görünümünü yan yana olarak değiştirebilirsiniz.

    Yürütme planları için kullanılabilen tüm yakınlaştırma ve gezinti seçenekleri plan karşılaştırma modunda çalışır. Daha fazla bilgi için bkz. Gerçek yürütme planını görüntüleme.

  5. Sağ tarafta, varsayılan seçim kapsamında çift özellikler penceresi de açılır. Her iki karşılaştırmalı işleçte de bulunan ancak farklılıkları olan özelliklerin daha kolay tanımlanması için önünde eşit değil işareti (≠) bulunur.

    İkili özellikler penceresinin ekran görüntüsü.

  6. Showplan Analysis karşılaştırması gezinti penceresi de altta açılır. Üç sekme kullanılabilir:

    1. Deyim Seçenekleri sekmesinde, varsayılan seçim Benzer işlemleri vurgula'dır ve karşılaştırılan planlardaki aynı vurgulanmış işleç veya düğüm aynı renk ve çizgi desenini paylaşır. Bir kireç deseni seçerek karşılaştırılan planlardaki benzer alanlar arasında gezinin. Benzer segmentlerle eşleşmeyen işlemleri vurgula'yı seçerek, planlar arasındaki farkları vurgulayabilirsiniz.

      Uyarı

      Varsayılan olarak, farklı adlara sahip olan ancak aynı şemayı paylaşan veritabanları için yakalanan planların karşılaştırmasına izin vermek üzere planlar karşılaştırılırken veritabanı adları yoksayılır. Örneğin, veritabanlarından ve TestDBplanlarını ProdDB karşılaştırırken. Bu davranış , işleçler karşılaştırılırken veritabanı adını yoksay seçeneğiyle değiştirilebilir.

      Showplan Analysis penceresinin ekran görüntüsü.

    2. Çoklu Deyim sekmesi, doğru deyim çiftinin karşılaştırılabilmesini sağlayarak planları birden çok deyimle karşılaştırırken kullanışlıdır.

      Karşılaştırılan planda birden çok deyimin ekran görüntüsü.

    3. Senaryolar sekmesinde, karşılaştırılan planlardaki Kardinalite Tahmini (SQL Server) farklılıklarıyla ilgili konulara göz atabileceğiniz en ilgili yönlerden bazılarının otomatik analizini bulabilirsiniz. Sol bölmede listelenen her işleç için, sağ bölmede bu senaryo hakkında daha fazla bilgi için burayı seçin bağlantısındaki senaryoyla ilgili ayrıntılar ve bu senaryonun listelendiğini açıklamak için olası nedenler gösterilir.

      Farklı tahmini satırların ekran görüntüsü.

    Bu pencere kapalıysa, karşılaştırılan planın boş bir alanına sağ tıklayın ve yeniden açmak için Karşılaştırma Seçeneklerini Göster'i seçin.

    Plan karşılaştırma seçeneklerinin ekran görüntüsü.

Sorgu Deposu'ndaki yürütme planlarını karşılaştırma

  1. Sorgu Deposu'nda, birden fazla yürütme planı olan bir sorguyu tanımlayın. Sorgu Deposu senaryoları hakkında daha fazla bilgi için bkz. Sorgu Deposu Kullanım Senaryoları.

  2. Aynı sorgu için iki plan seçmek için Shift tuşunun ve farenizin birleşimini kullanın.

    Sorgu Deposu'nda iki plan seçin seçeneğinin ekran görüntüsü.

  3. Plan karşılaştırmasını başlatmak için ayrı bir pencerede seçme sorgusunun planlarını karşılaştır düğmesini kullanın. Ardından Yürütme planlarını karşılaştırmak için 4 ile 6 arasındaki adımlar geçerlidir.

    Sorgu Deposu'nda Showplan Karşılaştırma ekran görüntüsü.