Aracılığıyla paylaş


Performans ayarlama ve tam metin sorguları en iyi duruma getirilmesi

Bellek, disk hızı, cpu hızı ve makine mimarisi gibi donanım kaynakları tarafından tam metin sorguları performansını etkilediği.

Tam metin sorgu performansı artırmak için öneriler

tam metin sorgusu performansını artırmaya yardımcı olacak öneriler listesi aşağıdadır:

  • Temel tablo dizini kullanarak birleştirmek alter dizin yeniden düzenle.

  • Tam metin kataloğu yeniden düzenlemek kullanarak Full-Text catalog REORGANIZE alter.Performans testi bu deyim çalıştıran ana tam metin dizinleri birleştirme bu katalogda nedeniyle önce bunu olduğunu emin olun.

  • Küçük bir sütun için tam metin anahtar sütunu seçtiğiniz kısıtlayın.Although a 900-byte column is supported, we recommend using a smaller key column in a full-text index.int and bigint provide the best performance.

  • Bir tamsayı tam metin anahtarını kullanarak önler bir birleştirmek ile docid eşleme tablo.Bu nedenle, bir tamsayı tam metin anahtar bir büyüklük sorgu performansını artırır ve gezinme performansı artırır.Tam metin anahtarını da kümelenmiş dizin anahtar ise ek performans avantajları neden olabilir.Daha fazla bilgi için bkz: Tam metin dizin yapısı ve Nasıl yapılır: Tam metin anahtar sütunu (Transact-SQL) hakkında sorgulama.

  • Birden çok birleştirme CONTAINS içine bir CONTAINS yüklemleri.De SQL Server listesini sütun belirtiniçerir sorgu.

  • Tam metin yalnızca gerekliyse anahtar veya rütbe bilgi, CONTAINSTABLE veya freetexttable CONTAINS veya freetext, yerine sırasıyla.

  • To limit results and increase performance, use the top_n_by_rank parameter of the FREETEXTTABLE and CONTAINSTABLE functions.top_n_by_rank allows you to recall only the most relevant hits.Yalnızca sizin iş senaryosu tüm olası isabet geri çekmesini gerektirmez, bu parametreyi kullanın (başka bir deyişle, onu gerektirmediği toplam geri çekme).

    Not

    Toplam geri çekme yasal senaryoları için genellikle gerekli değildir ancak performans e-iş gibi iş senaryoları için daha az önemli olabilir.

  • tam metin sorgusu planını uygun birleştirmek planı seçilir emin olmak için denetleyin.Gerekiyorsa, birleştirmek ipucu veya sorgu ipucu kullanın.tam metin sorgusu parametresi kullanılırsa, ilk-saat parametre değeri sorgu planı belirler.En iyi duruma GETİRMEK için kullanabileceğiniz sorgu ipucu değeri ile derlemek istediğiniz sorguyu zorlamak için.Bu, deterministic sorgu planı ve daha iyi performans elde etmek yardımcı olur.

  • Tam metin dizini içinde çok fazla tam metin dizini parça sorgu performansı önemli ölçüde düşmesine açabilir.To reduce the number of fragments, reorganize the full-text catalog by using the REORGANIZE option of the ALTER FULLTEXT CATALOG Transact-SQL statement.Bu deyim aslında bir tek büyük parça tüm parçalarını birleştirir ve tam metin dizini geçersiz tüm girdileri kaldırır.

  • De SQL Server 2008 tam metin araması, mantıksal işleçler CONTAINSTABLE (ve, veya) belirtilen sql JOIN veya tablo değerli işlevler (stvf) akış tam metin yürütme içinde uygulanabilir.Tipik olarak, mantıksal işleçler karıştırmak sorguları sql JOIN de sahip olduğu halde Mantıksal işleçleri yalnızca bir tür sorgular yalnızca tam metin yürütme tarafından uygulanır.Bir mantıksal işleç stvf tam metin yürütme içinde uygulaması, sql JOIN daha hızlı olun bazı özel dizin özellikleri kullanır.Bu nedenle, mümkün olan yerlerde, tek tür mantıksal işleç kullanarak sorgular kare, öneririz.

  • Kullanmak için yazılmış, ilişkisini seçmeli predications içeren uygulamalar için seçmeli ilişkisel yüklemleri ve unselective tam metin yüklemler kullanan sorguları en iyi gerçekleştirebilecek sorgu iyileştiricisi.Bu sorgu iyileştiricisi etkili bir sorgu planı oluşturmak için yüklemi veya aralık pushdown yararlanabilir mi karar verir.Bu yaklaşım daha kolaydır ve genellikle daha verimlidir tam metin veri olarak ilişkisel veri dizin oluşturma.

Sözcük ayırıcısı, eş anlamlılar ve birleşimi Stoplist Tokenization sonucunu görüntüleme

Bir sorguya verilen sözcük ayırıcısı, eş anlamlılar ve stoplist birlikte uygulandıktan sonra dize giriş, belirteçlere ayırma sonucunu kullanarak görüntüleyebileceğiniz sys.dm_fts_parser Dinamik yönetim görünümü.Daha fazla bilgi için bkz: sys.dm_fts_parser (Transact-sql).