Aracılığıyla paylaş


Mantıksal ve fiziksel işletmenleri başvurusu

Işleçler açıklayan nasıl SQL Server bir sorgu veya bir veri işleme dili (DML) deyim yürütür. sorgu iyileştiricisi işleçler, sorguda belirtilen sonucu oluşturmak veya DML deyiminde belirtilen operasyonu gerçekleştirmek için bir sorgu planı oluşturmak için kullanır.Sorgu planı fiziksel işletmenlerine oluşan bir ağacıdır.

Işleçler, mantıksal ve fiziksel işleçleri sınıflandırılır.Mantıksal işleçler, sorgu ilişkisel bir kavramsal düzeyde operasyonun işlenmesi açıklayın.Fiziksel işleçler, gerçekte beton yöntem ya da algoritması'nı kullanarak bir mantıksal işleç tarafından tanımlanan işlem uygular.Örneğin, "birleştirmek"mantıksal bir işlem iken değil"döngüleri birleştirmeler yuvalanmış" bir fiziksel işleçtir.

  • Mantıksal İşleçler
    Mantıksal işleçler, bir deyim işlemek için kullanılan bir ilişkisel cebirsel işlemi açıklanmaktadır.Diğer bir deyişle, mantıksal işleçlerin kavramsal hangi operasyonun gerçekleştirilmesi gereken açıklayın.

  • Fiziksel işletmenleri
    Fiziksel işleçleri mantıksal işleçleri tarafından açıklanan işlem uygular.Her fiziksel işleçlerin bir nesnedir veya yordamı, bir işlem gerçekleştirir.Örneğin, bazı fiziksel işleçleri bir tablo, dizin veya görünümden sütunlar veya satırlar erişin.Diğer fiziksel işleçler, başka türde bir işlem gerçekleştirin: The toplamak ifade, MIN, MAK, SUM, COUNT veya AVG ve işleç hesaplarBirleştirme birleştirmek işleç farklı türde bir mantıksal birleştirme işlemlerini gerçekleştirir.

    Fiziksel işleçleri başlatılamıyor, verilerini toplamak ve kapatın.Özellikle, aşağıdaki üç yöntem çağrıları fiziksel işleç yanıt verebilir:

    • Init(): The Init() yöntem kendisini başlatmak fiziksel bir işleç neden olur ve küme herhangi veri yapılarının gerekli.Fiziksel işleç birçok alabilirsiniz Init() normal olarak yalnızca bir fiziksel işleç alır, ancak çağırır.

    • GetNext(): The GetNext() yöntem, ilk veya sonraki satır veri almak fiziksel işleç neden olur.Fiziksel işleç sıfır ya da birçok alabilirsiniz... GetNext() çağrılar.

    • Close(): The Close() yöntem bazı temizleme işlemleri gerçekleştirmek bilgisayarı kendisini fiziksel işleç neden olur.Fiziksel işleç yalnızca bir alan Close() çağrısı.

The GetNext() yöntem returns one row of data, and the number of times it is called appears as ActualRows in the gösterim planı output that is produced by using küme STATISTICS PROFILE ON or küme STATISTICS XML ON.Bunlar hakkında daha fazla bilgi için seçenekleri küme Bkz: küme STATISTICS PROFILE (Transact-SQL) ve küme STATISTICS XML (Transact-SQL).

The ActualRebinds and ActualRewinds counts that appear in gösterim planı output refer to the number of times that the Init() yöntem is called.Bir işleç döngü birleştirmek, iç tarafında değilse ActualRebinds eşittir tek ve ActualRewinds sıfıra eşit.Bir işleç iç döngü birleştirmek tarafında, rebinds ve rewinds sayısı toplamı dış birleştirmek tarafında işlenen satır sayısı eşit.Bir rebind, aşağıdakilerden bir veya daha fazla e-posta birleştirmek ilişkili parametreleri değiştirildi ve iç tarafı reevaluated anlamına gelir.Bir geri sarma, ilişkili parametrelerin hiçbiri değişti ve önceki iç sonuç kümesi yeniden anlamına gelir.

ActualRebinds and ActualRewinds küme STATISTICS XML ON kullanılarak oluşturulan XML gösterim planı çıktısında var.Bunlar yalnızca için doldurulur Kümelenmemiş dizin biriktirme, Uzak bir sorgu, Satır sayısı biriktirme, Sıralama, Tablo biriktirme, and tablo değerli işlev işleçler.ActualRebinds and ActualRewinds için de doldurulmasıOnaylama işlemi and Filtre işleçler, StartupExpression özniteliği TRUE olarak küme.

Ne zaman ActualRebinds and ActualRewinds bir XML gösterim planı içinde var; bunlar için eşitleyinEstimateRebinds and EstimateRewinds.Bunlar devamsızlık olduğunda, satır (tahmini sayısıEstimateRows) gerçek satır sayısını belirtir ( için benzer olur.ActualRows).Not gerçek grafik gösterim planı çıktı, gerçek rebinds ve gerçek bir sıfır görüntüler, devamsızlık olduğunda geri sarar.Grafik Showplans hakkında daha fazla bilgi için bkz: Grafik yürütme görüntüleme (SQL Server Management Studio'yu) planları..

Ilgili bir sayacı ActualEndOfScans, gösterim planı çıkış küme STATISTICS XML ON kullanarak yalnızca üretilen olduğunda kullanılabilir.Fiziksel bir işleç, veri akışı sonuna eriştiğinde, bu sayacın değeri bir artırılır.Fiziksel bir işleç, veri akışı sonuna sıfır, bir ulaşabileceği ya da birden çok kez.Yalnızca iç döngü birleştirmek tarafında işleç ise rebinds ve rewinds gibi taramaları sonuna numarasını birden fazla olabilir.Tarama sonuna sayısı eşit veya bundan küçük sayı toplanacak rebinds ve rewinds olmalıdır.

Fiziksel bir işleç için yürütme algoritmaları karşılık gelir.Dizin tarama/arama, iç içe geçmiş bir döngü birleştirmek, birleştirmek birleştirmek, karma birleştirmek/toplama, akış toplama fiziksel işleçleri örnekleridir.Fiziksel işleçler, bunlarla ilişkilendirilmiş maliyetler vardır.Bir sorgu veya DML deyim yürütme her adımda, fiziksel işleç içerir.

Fiziksel ve mantıksal işleçleri eşleme

sorgu iyileştiricisi a query plan mantıksal işleçler oluşan bir ağaç olarak oluşturur.sorgu iyileştiricisi planı oluşturduktan sonra sorgu iyileştiricisi, her bir mantıksal işleç için en verimli fiziksel işleci seçer.sorgu iyileştiricisi, hangi fiziksel işletmeni, bir mantıksal işleç gerçekleştireceksiniz belirlemek için maliyetine dayalı bir yaklaşım kullanır.

Genellikle, bir mantıksal işlemin birden çok fiziksel işleçleri tarafından uygulanabilir.Ancak nadiren de olsa, fiziksel işleç birden çok mantıksal işlemlerin de uygulayabilirsiniz.

Bu Bölümde

Bu bölüm, mantıksal ve fiziksel aşağıdaki işleçleri açıklamalarını içerir:

Toplama

Interval birleştirme

Aritmetik ifade

Birleştirme birleştirmek

Onaylama işlemi

Iç içe geçmiş bir döngü

Atama

Kümelenmemiş dizin Sil

Zaman uyumsuz Concat

Kümelenmemiş dizin Ekle

Bit eşlem

Kümelenmemiş dizin tarama

Bit eşlem oluştur

Kümelenmemiş dizin Ara

Yer işareti arama

Kümelenmemiş dizin biriktirme

Şube Yeniden Bölümlenir

Kümelenmemiş dizin güncelleştirmesi

Yayın

Çevrimiçi Dizin Ekle

Önbellek

Parallelism

Kümelenmiş dizin Sil

Tablo tarama parametresi

Kümelenmiş dizin Ekle

Kısmi topluluğu

Kümelenmiş dizin birleştirme

Popülasyon sorgu

Kümelenmiş dizin tarama

Sorgu Yenile

Kümelenmiş dizin Ara

Uzak Sil

kümelenmiş dizin güncelleştirmesi

Uzak dizin tarama

Daraltma

Uzak dizin Ara

skaler hesaplaması

Uzak Ekle

Birleştirme

Uzak bir sorgu

Sabit bir tarama

Uzaktan tarama

Dönüştürme

Uzaktan güncelleştirme

birleştirmek arası

Yeniden_bölümleme akışları

Imleç Catchall

Sonuç

Bildir

RID arama

Sil

Sağ birleştirmek noktalı Titreşim

Silinen bir tarama

Sağ dış birleştirmek

Farklı

Sağ noktalı birleştirmek

Farklı bir sıralama

Satır sayısı biriktirme

Akışları dağıtma

Segment

Dinamik

Kesimi yeniden bölümlenir

Dinleyicilerle biriktirme

Sıra

Query Getir

SequenceProject

Filtre

Anlık görüntü

Akış DISTINCT

Sıralama

Tam dış birleştirmek

Böl

Akışları toplayın.

Biriktirme

Karma eşleştir

Akış topluluğu

Karma match kök

Anahtarı

Match Team karma

Tablo Sil

If

Tablo Ekle

Iç birleştirmek

Tablo Birleştir

Ekleme

Tablo tarama

Eklenen tarama

Tablo biriktirme

Tablo güncelleştirme

Yineleyici Catchall

Tablo biçiminde işlev

Anahtar arama

Top

Anahtar kümesi

Üst N Sırala

Dil öğesi Catchall

udx

Yavaş biriktirme

Union

Sol noktalı birleştirmek Titreşim

Güncelleştirme

Sol dış birleştirmek

Süre

Sol noktalı birleştirmek

Imleç mantıksal ve fiziksel işletmenleri

Günlük satır tarama