Aracılığıyla paylaş


Bit eşlem filtreleri içeren yürütme yorumlama planları

Bit eşlem süzme işlemini kullanan bir paralel sorgu yürütme planları olan bir Bitmap bir veya daha çok işleç ağaca operator.Bir bit eşlem filtre değerleri kümesini kompakt bir gösterimini kullanan bir tablo bir işleç ağacından satırları süzme ikinci bölümünde tablo ağaç uygulamasının başka bir kısmında.Gereksiz satırları sorgu erken kaldırarak, çalışmak için daha az satır sonraki operatörleri sahiptir ve sorgu genel performansını artırır.

De SQL Server 2008, bit eşlem süzme sunulan en iyi duruma getirme sonra paralel sorgu planı içindeki gibi SQL Server 2005, veya dinamik olarak ortaya sorgu iyileştiricisi sırasında sorgu planı oluşturma.Dinamik olarak filtre girerse, buna olarak denir bir bit eşlem filtresi en iyi duruma getirilmiş.Bir sorgu planı her iki bit eşlem filtreleri içerebilir ve bit eşlem filtreleri en iyi duruma getirilmiştir.Ne zaman bir bit eşlem filtre veya en iyi duruma getirilmiş biteşlem Filtresi yararlı olması için seçmeli ve hangi işleçleri filtre uygulanan sorgu iyileştiricisi belirler.Daha fazla bilgi için bkz: Bit eşlem süzme yoluyla veri ambar sorgu performansı en iyi duruma getirme.

Bit eşlem süzme içeren yürütme planı analiz ederken veri planı aracılığıyla nasıl akacağını ve filtre uygulanacağı yeri bilmek önemlidir.Bit eşlem süzme ve en iyi duruma getirilmiş bir bit eşlem giriş yapı üzerinde oluşturulan (boyut tablo) yüzü bir karma birleştirmek; Ancak, gerçek süzme işlemi genellikle içinde yapılır Parallelism araştırma üzerinde giriş işleç (gerçeği tablo) karma birleştirmek yüzü.Ancak, ne zaman bit eşlem filtre tabanlı bir tamsayı üzerinde sütun, doğrudan ilk tablo veya dizin tarama işlemi için filtre uygulanabilir yerine Parallelism işleç.Bu teknik, satır içinde en iyi duruma getirme denir.

Showplans içinde bitmap filtreleri görüntüleme

Bit eşlem filtreleri sorgu planında görüntülemek için set seçenekleri showplan_all, showplan_text veya showplan_xml kullanın veya tıklatın Fiili yürütme planı dahil , SQL Server Management Studio.

xml Showplan üretilen, bit eşlem fiziksel ve mantıksal işleçleri aşağıdaki biçimde listelenir:

<RelOp NodeId="2" PhysicalOp="Bitmap" LogicalOp="Bitmap Create" EstimateRows="88" EstimateIO="0" EstimateCPU="0.0718125" AvgRowSize="6893" EstimatedTotalSubtreeCost="0.229385" Parallel="1" EstimateRebinds="0" EstimateRewinds="0">

işleç bir bit eşlem filtre uygulandığı bitmap içinde bulunduğu Probe Column özellik.

En iyi duruma getirilmiş biteşlem filtre uygulandığı işleç YOKLAMA şeklindeki bir bitmap yüklemi içerir ([Opt_Bitmap1001] {[sütun_adı} [, 'In satır']).Bit eşlem karşılaştırma belirtimi aşağıdaki bilgileri raporlar:

  • Olarak ada karşılık gelen bit eşlem adı Bitmap Create işleç.Önek 'opt_' en iyi duruma getirilmiş biteşlem filtre kullanıldığını gösterir.

  • Karşı derinlemesine incelenen sütun.Filtre uygulanmış verileri ağaç akar içinden noktasıdır.

  • Bit eşlem yoklama mı gerçekleştirilen satır içinde.Satır içinde en iyi duruma getirme kullanıldığında, bitmap yoklama de satır parametresi ile çağrılır.Aksi takdirde, bu parametre eksik.

Örnek

Aşağıdaki örnekte gösterilmiştir nasıl en iyi duruma getirilmiş bir bit eşlem süzme yürütme planı içinde kullanılır.İki boyut tablos DimProduct ve DimCustomer gerçeği birleşime tablo FactInternetSales kullanarak birincil anahtar-için-yabancı-anahtar birleştirmek işlemini bir tek tamsayı sütun.

USE AdventureWorksDW2008R2;
GO
SELECT * 
FROM dbo.FactInternetSales AS F
INNER JOIN dbo.DimProduct AS D1 ON F.ProductKey = D1.ProductKey
INNER JOIN dbo.DimCustomer AS D2 ON F.CustomerKey = D2.CustomerKey
WHERE D1.StandardCost <= 30 AND D2.YearlyIncome <= 50000;

Her iki boyut işleç alt ağacının en iyi duruma getirilmiş biteşlem filtre oluşturulur aşağıda gösterilmiştir tablosonra boyut s tablo tarandı ve gerçeği uygun olmayan satırları ortadan kaldırmak için gerekli bilgileri tablo adı verilir.Filtre sonra uygulanan olgu tablosu yerde erken mümkün Tablo tarama işleç.Filtre uygulama Tablo tarama özelliklerini karşılaştırma bölümünde gösterilir.Her ikisi de Opt_Bitmap1008 ve Opt_Bitmap1009 gerçeği döndürülen satırları sınırlamak için kullanılan bit eşlem filtreleri optimize yüklemi içinde gösterilen bilgileri gösterir tablo.Derinlemesine sütunları incelenen karşı aslında tablo [f] listelenir.[CustomerKey] ve [f].[Ürün anahtarı].Bu satır içinde en iyi duruma getirme işleminde kullanılan gösteren de satır parametresi gösterilir.Satır içinde en iyi duruma getirme mümkün değilse, bit eşlem filtre uygulanan Parallelism işleç.

Bit eşlem filtreleri içeren SQL Server sorgu planı.

Resimde üzerinde bağlı olarak, aşağıdaki kapanışlar yapılabilir:

  • En iyi duruma getirilmiş bir bit eşlem filtreleri, iki alt ağaçlar içinde oluşturulur.

  • Her iki filtrenin tek bir dinamik olarak uygulanır (Table Scan) işleç.

  • En iyi duruma getirilmiş biteşlem filtre tahmin edilen en Seçici olması için önce uygulanır.

  • Hangi sütunların boyut tablos konusunda katılan tablo satır en iyi duruma getirme kullanımına izin verir.Diğer bir deyişle, birleştirmek tek tamsayı sütun üzerinde temel alır.

  • Sorgudaki satır metnin akışını sayısı sınırlı sonuçta olası en erken noktada filtre uygulanan Table Scan işlemi aracılığıyla kalan işleçler, ağaç.