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:
|