Share via


Dağıtılmış sorgular'ı en iyi duruma getirme

Performansı artırmak içinSQL Serveraşağıdaki türde dağıtılmış sorgular için özel en iyileştirme gerçekleştirir:

  • OLE DB SQL komut sağlayıcıları ile kullanılan uzak sorgu yürütme.

    Bir OLE DB sağlayıcı, OLE DB sağlayıcı aşağıdaki en düşük gereksinimleri karşılıyorsa, bir SQL komutu sağlayıcı olarak değerlendirilir:

    • DestekleyenKomutu nesne ve tüm alt arabirimler zorunlu.

    • DBPROPVAL SQL SUBMINIMUM sözdizimini veya giriş düzey veya daha yüksek bir ISO ya da ODBC çekirdek düzeyde veya daha fazla destekler.Sağlayıcı bu diyalekt düzey DBPROP_SQLSUPPORT OLE DB özellik aracılığıyla göstermek.

  • OLE DB dizin sağlayıcıları ile kullanılan sıralı erişim.

    Bir OLE DB sağlayıcı, OLE DB sağlayıcı aşağıdaki en düşük gereksinimleri karşılayan bir dizin sağlayıcı olarak değerlendirilir:

    • DestekleyenIDBSchemaRowset TABLOLAR, SÜTUNSAY ve dizin şema Satır kümeleri. arabirim

    • Destekleyen bir satır kümesi kullanarak dizin üzerindeki açmaIOpenRowset dizin adı ve ilgili belirterek temel tablo adı.

    • The Index object should support all its mandatory interfaces: IRowset, IRowsetIndexIAccessor , IColumnsInfo , IRowsetInfo ve IConvertTypes .

    • Satır kümeleri açılan kullanarak dizinlenmiş temel tablodaIOpenRowset, temel alınan dizini. bir yer işareti kapalı bir satırda konumlandırma için IRowsetLocate arabirim desteği

Uzaktan sorgusu yürütme

SQL Server bir dağıtılmış sorgu SQL komutunun değerlendirme kadarını temsil dener sağlayıcı mümkün.Yalnızca veri kaynağında depolanan uzak tablo erişen bir SQL sorgusu sağlayıcı özgün dağıtılmış sorgudan ayıklanmış ve karşı yürütülen sağlayıcı.Bu davranış, döndürülen satırların sayısını azaltır sağlayıcı ve sağlayıcı sorguyu değerlendirmek, kendi dizin kullanılacak.

Ne kadar özgün dağıtılmış etkileyen konuları alır sorgu için SQL komutunu temsilci sağlayıcı şunlardır:

  • SQL komut sağlayıcının diyalekt düzey

  • Harmanlama uyumluluk

düzey SQL komut sağlayıcı tarafından desteklenen diyalekt

SQL Server işlemleri yalnızca belirli bir diyalekt düzey tarafından desteklenir, temsilci.Büyük diyalekt düzeyleri için en düşük şunlardır: SQL ServerISO giriş düzey, ODBC çekirdek ve Jet.Ne kadar yüksekse diyalekt düzeyinde daha fazla işlemSQL Servertemsilci seçmek sağlayıcı.

Not

The SQL Server dialect level is used when the provider corresponds to a SQL Server linked server.

Her diyalekt düzey alt düzey s kümesidir.Bu nedenle, bir işlemin belirli bir düzeye temsilci, işlem aynı zamanda tüm üst düzeyler için temsilci.

İlgili sorgularbitveuniqueidentiferveri türleri her zaman için temsilci bir sağlayıcı ve her zaman yerel olarak değerlendirilir.

Dize bitiştirme CONCAT_NULL_YIELDS_NULL küme seçenek kapalı olduğunda, her zaman yerel olarak yapılır.

Belirtilen diyalekt düzey ve tüm üst düzeyler için aşağıdaki işlemleri sözdizimi öğeleri verilmiş:

  • SQL Server: Dış birleştirmek, küp, ROLLUP işleç (%), Bitsel işleçler, dize işlevlerini ve aritmetik sistem işlevleri mod.

  • ISO giriş düzey: UNION ve UNION ALL.

  • ODBC Çekirdek: Toplama işlevleri farklı ve dize sabitleri.

  • Jet: toplamak işlevleri olmadan farklı, sıralama (ORDER BY), İç birleşimler, yüklemler, işleçler alt sorgu (ALL EXISTS bazı, ın), farklı, daha yüksek düzey belirtilen aritmetik işleçleri, üst düzey ve tüm mantıksal işleçler. belirtilen sabit

    Örneğin, tüm işlemler hariç, küp ROLLUP, dış birleştirmek işleç (%), Bitsel işleçler, dize işlevleri, mod içerir ve bir ISO giriş düzey sistem aritmetik işlevleri temsil sağlayıcı olmayan da SQL Server.

Harmanlama uyumluluk

For a distributed query, the comparison semantics for all character data is defined by the character set and sort order of the local instance of SQL Server.SQL Server supports multiple collations.Collations can be different for each column, and each character value has an associated collation property.SQL Server interprets the collation property of character data from a remote data source and treats it accordingly.Uzak sütunlarının harmanlama hakkında daha fazla bilgi için bkz:Alfabe düzenlerinden içinde dağıtılmış sorgular.

SQL Serveryalnızca aşağıdakileri belirlemek için karşılaştırmalar ve ORDER BY karakter sütunları üzerinde işlem sağlayıcı için temsilci seçebilirsiniz:

  • Harmanlama sırası ve karakter kümesi veri kaynağının kullandığı küme sütun.

  • ISO karakter karşılaştırma semantik izleyin veSQL ServerStandart.

KonuDağıtılmış sorgular, alfabe özetler nasıl SQL Serverbelirleyen bir harmanlama her sütun.Uzak Veri kaynağı, harmanlamayı destekliyorsa, sağlayıcı harmanlama uyumlu kabul edilir.

SQL desteği ile ilgili diğer konular

Aşağıdaki SQL sözdizimi öğeleri SQL diyalekti düzeyler tarafından dikte:

  • iç içe sorgu desteği

    Varsa sağlayıcının desteklediği iç içe geçmiş sorgular (alt)SQL Servertemsilci bu işlemleri sağlayıcı.İç içe sorgu desteği otomatik olarak OLE DB özellikleri belirlenemedi için sistem yöneticisine gereken kümeNestedQueries için SQL Serversağlayıcının desteklediği iç içe geçmiş sorgular. göstermek için sağlayıcı seçeneği

  • Parametre işaretçisi desteği

    Kullanarak parametreli sorgu yürütme sağlayıcı destekliyorsa,? parametre işaretçisi bir sorgu, SQL Servertemsilci parametreli sorgu yürütme sağlayıcısı.Parametre işaretçisi desteği otomatik olarak OLE DB özellikleri belirlenemedi için sistem yöneticisine gereken kümeDynamicParameters için SQL Serversağlayıcının desteklediği parametre imleyicileri. göstermek için sağlayıcı seçeneği

  • Desteği

    Varsa sağlayıcının desteklediği olarak uygulanan, LIKE işleçSQL Serversözdizimi ve anlambilim,SqlServerLike sağlayıcı seçeneği olabilir küme desteğini göstermek için.

    Bu sağlayıcı seçeneklerini ayarlama hakkında daha fazla bilgi için bkz:Dağıtılmış sorgular için OLE DB sağlayıcıları yapılandırma.

Sıralı erişim

SQL Server yüklemler değerlendirmek ve uzak tablolara yönelik sıralama işlemlerini gerçekleştirmek için dizin sağlayıcısının dizinleri kullanarak ilgili yürütme stratejiler kullanabilirsiniz.Bir sağlayıcıya karşı sıralı erişim sağlamak içinIndexAsAccessPath Sağlayıcı seçenek.

Ek olarak, karakter sütunları içeren dizinleri kullandığınızda, kümeharmanlama uyumlu bağlı trueiçin sunucu yapılandırma seçeneği karşılık gelen bağlantılı. Daha fazla bilgi için bkz:sp_serveroption (Transact-SQL).

Not

Yürütme planı kullanarak grafik olarak görüntülemekSQL Server Management Studiobelirlemek için bir verilen dağıtılmış sorgu yürütme planıUzak sorgu yürütme yürütme planı ' görevli, kullanarak gösterilirUzak sorgu mantıksal ve fiziksel işleç. Bu işleç, değişken uzaktan çalıştırılan sorgu gösterir.