OLE DB sağlayıcıları için dağılım istatistiklerini gereksinimleri

Dağıtılmış sorgular, en iyi duruma getirilmesi artırmak için SQL Server Uzantıları, OLE DB sağlayıcıları Satır kümeleri dağıtım istatistikleri raporu için OLE DB belirtimine veya bunlar, tablolar için tanımlar. Bu uzantılar tanımlanmıştır, ancak SQL Server bilgileri kullanılabilmesini istiyorsanız, belgeler, her bir OLE DB sağlayıcı geliştirici desteği, sağlayıcıları uzantılarında kod gerekir SQL Server. Bir sağlayıcı uzantıları, destekleyen bir kod içeriyorsa SQL Server uzantılar, dağıtılmış sorgular performansını en iyi duruma getirmek için kullanabilirsiniz. Bir sağlayıcı, uzantıları desteklemiyorsa SQL Server Dağıtım istatistiklerinin basit tahminler kullanır.

Not

The Microsoft SQL Server Native Client OLE DB Provider and the Microsoft OLE DB Provider for Oracle support distribution statistics.

Dağıtım istatistikleri uzantıları bir istatistik adlı bir birim yerleştirilmiştir.Bir veya daha çok sütun için veri her istatistik raporlarını ve her bir tablo sıfır veya daha fazla istatistik olabilir.Bir istatistik aşağıdakileri kaydeder:

  • Önem düzeyini değerleri veya her benzersiz değerler sayısı sütun istatistikleri tarafından kapsanan.

  • Önem düzeyini istatistikleri tarafından kapsanan tüm sütunları art arda eklenmiş değerlerini.

  • Isteğe bağlı olarak farklı aralığı istatistikleri tarafından kapsanan ilk sütunda anahtar değerleri hakkında bilgi bildirdiği histogram.Bildirilen değerlerin satır sayısını, her anahtar aralık, her anahtar aralıktaki benzersiz değerler sayısı veya anahtar değerleri aralıktaki en yüksek anahtar değeri küçük veya eşit olan tablodaki satır sayısını içerebilir.

Bir örnek tablo olur.

ColumnA

ColumnB

'abc'

'xyz'

'abc'

'xyz'

'def'

'xyz'

'mno'

'xyz'

'mno'

'aaa'

'tuv'

'xyz'

ColumnA ve ColumnB istatistik için önem düzeyini birleşik değerlerini iki sütun 5'tir.Bu değerleri ColumnA ve ColumnB 5 benzersiz birleşimlerini ilk iki satır aynı birleşik değerini ('abc' + 'xyz') olduğundan olduğudur.

Önem düzeyini ColumnA tek başına 4 ve önem düzeyini ColumnB tek başına 2.Basit, dört adımlı bir histogram ColumnA üzerinde rapor.

Değer aralık

Aralık tablo satırları yüzdesi.

'hzz' için 'aaa'

50%

'nzz' için 'iaa'

33%

'rzz' için 'oaa'

00%

'zzz' için 'taa'

17%

Farklı bir OLE DB veri kaynakları üzerinde sütunları farklı birleşimlerini dağılım istatistiklerini kaydetmek ve uygulama tanımlı bir OLE DB sağlayıcı tarafından bildirilen istatistikleri kümesidir.For example, SQL Server versions 6.5 and earlier build distribution statistics only for columns covered by indexes and have one statistic for each index defined on a table.SQL Server version 7.0 and later builds the following statistics:

  • Tanımlanan her dizin için bir istatistik bir tablo.

  • Her bir ISTATISTIK CREATE deyim için bir istatistik.

  • Otomatik olarak oluşturulan her istatistiğe yönelik bir istatistik.

sütun selectivity büyük ölçüde sahipse satır için bir koşul bağımsız değişkeninde belirtilen belirli bir değeri küçük bir numarayı daha olasıdır.Dağılım istatistiklerini selectivity derecesini tahmin etmek için kullanılabilir:

  • Daha fazla veri değerleri yüksek önem düzeyi içeren sütunlar vardır ve her veri değeri, daha az sayıda satır sütun daha düşük bir önem düzeyi ile eşleşecek şekilde olasıdır.

  • Bir OLE DB sağlayıcı, değerlerin nasıl dağıtıldığını bildirdiği bir çubuk grafik sağlarsa bir sütun, SQL Server Belirli bir doðrulama bağımsız değişkeni iyi veya kötü selectivity bir aralıktaki değeri, en iyi duruma getiricisi de hesaplayabilirsiniz.

bağlantılı sunucu için iyi bir dağıtım istatistikleri sahip yerel dağıtılmış sorgu bölümü için etkili bir yürütme planı oluşturmak en iyi duruma getiricisi de yardımcı olabilir.

The SQL Server optimizer uses the distribution statistics in an attempt to reduce the amount of data that must be communicated between the OLE DB sağlayıcı and SQL Server. Örneğin, dağıtılmış bir birleştirmek TableA yerel sunucuda TableB arasındaki bağlantılı sunucu üzerinde gerçekleştirirken SQL Server dağılım istatistiklerini Bu işlemlerden hangisinin en verimli olduğunu belirlemek için kullanabilirsiniz:

  • Satırları nonjoin yüklemler bağlantılı bir sunucu için eşleşen ve birleştirmek gerçekleştirmek bağlantılı sunucu TableA gönderin.

  • Yerel sunucuya nonjoin koşullarına uyan ve birleştirmek, yerel sunucu üzerinde gerçekleştirmek TableB gelen satırları alır.

Bir OLE DB sağlayıcı önem bilgiler, sütun, rapor, SQL Server en iyi duruma getiricisi düşük bir önem düzeyi tahminleri. Bir sağlayıcı için bir istatistik dağıtım histogram rapor, değerleri eşit satırları gibi dağıtılmışsa iyileştirici çalışır tablo.

SQL Server Rapor için dağılım istatistiklerini için OLE DB sağlayıcılarından aşağıdaki uzantıları kullanır:

  • Bir veri kaynağı özellik, DBPROP_TABLESTATISTICS, w sağlayıcı raporlarını dağılım istatistiklerini gösterir.

  • Bir IDBSchemaRowsetBelirtilen için kullanılabilecek TABLE_STATISTICS, listeler temel tablo. Bu, sütun ve satır önem içerir.

  • IOpenRowset::OpenRowset bir istatistik tanımlayan bir bağımsız değişken kabul eder.Ne zaman bir istatistiği, belirtilen OpenRowset Belirtilen istatistik kapsamındaki ilk sütunundaki değerler dağıtımını gösteren bir çubuk grafik satır kümesi kümesi döndürür. StatisticID.

Bu uzantılar için OLE DB OLE DB 2.6 veya sonraki sürüm içerir.Bu uzantıları hakkında bilgi için ilgili dağıtım istatistikler, OLE DB 2.6 belirtimi konusuna bakın.

Bir OLE DB sağlayıcı, bir performans geliştirmesi, satır dağılım istatistiklerini ve çubuk belirlemek için temel bir tablo yalnızca bir bölümünü örnekleme uygulamak seçebilirsiniz.Bu sağlayıcılar, bunların önem ve çubuk grafik veri TABLE_STATISTICS ve çubuk grafik Satır kümeleri bildirdiği önce tabloya ilişkin toplam değerleri yansıtacak şekilde ölçeklendirme.

Bir OLE DB sağlayıcı verileri TABLE_STATISTICS ve çubuk grafik satır kümesi geçerli içeriğini temel tablo ile güncel tutar olup olmadığını tanımlanan uygulamasıdır.

Not

bağlantılı sunucu üzerinde bir tablo kullanıyorsanız, en iyi sorgu planları oluşturmak için , query processor veri dağılım istatistiklerini bağlantılı sunucu olması gerekir.Sütun tablonun izinleri sınırlı olan kullanıcıların, tüm yararlı istatistikler elde verimli bir sorgu planını almak ve düşük performans karşılaşıyorsunuz, yeterli izinlere sahip olmayabilirsiniz.Bağlantılı sunucu ise, bir örnek, SQL Server, tüm kullanılabilir istatistikler elde etmek için , kullanıcı tablo sahip veya sysadmin sabit sunucu rolü üyesi olması, sabit db_owner veritabanı rolü veya bağlantılı bir sunucu üzerinde db_ddladmin sabit veritabanı rolü.