Dostrajanie wydajności i optymalizacji kwerend pełnego tekstu
Wydajność kwerend pełnego tekstu ma wpływ zasobów sprzętowych, takich jak pamięć, szybkość dysku, szybkość Procesora i architektura maszyny.
Zalecenia, aby zwiększyć wydajność kwerendy pełnego tekstu
Poniżej przedstawiono listę zaleceń, które pomoże zwiększyć wydajność zapytanie pełnotekstowe:
Defragmentacja indeks tabela bazowa za pomocą ALTER REORGANIZOWAĆ INDEKSU.
Reorganizowanie wykaz pełnotekstowy za pomocą ALTER REORGANIZOWAĆ wykaz pełnotekstowy.Upewnij się, czy to przed testowania, ponieważ uruchomienie tej instrukcja powoduje scalanie wzorca z indeksy pełnotekstowe w tym katalogu.
Ograniczyć wybór kolumna klucz pełnotekstowego małych kolumna.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.
Za pomocą klucz pełnotekstowego unika łączyć z docid tabela mapowania.Dlatego klucz pełnotekstowego poprawia wydajność kwerend przez rząd wielkości i zwiększa wydajność przeszukiwanie.Dodatkowe korzyści może spowodować Jeśli klucz pełnotekstowego także klucz indeks klastrowany.Aby uzyskać więcej informacji, zobacz Struktury indeksu pełnotekstowego i Jak Uzyskiwanie informacji o kolumnie klucza pełnotekstowego (Transact-SQL).
Łączenie wielu ZAWIERA predykaty w jeden predykat ZAWIERA.W SQL Server można określić listę kolumn w kwerendzie ZAWIERA.
Jeśli wymagasz tylko klucz pełnego tekstu lub informacji rangi, użyj CONTAINSTABLE lub FREETEXTTABLE zamiast ZAWIERA lub FREETEXT, odpowiednio.
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.Tego parametru należy używać tylko wtedy, gdy scenariusza biznesowego nie wymaga PRZYWOŁUJĄC wszystkie możliwe trafień (czyli nie wymagają całkowitego odwołania).
Ostrzeżenie
Suma odwołań jest zazwyczaj konieczne dla scenariuszy prawnej, ale może być mniej istotny niż wydajność dla scenariuszy biznesowych, takich jak e biznesu.
Sprawdź, czy upewnij się, że wybrano odpowiednie łączyć plan planu zapytanie pełnotekstowe.Jeśli trzeba, należy użyć łączyć Wskazówka lub wskazówkę dotyczącą kwerendy.Jeśli parametr jest używana w kwerendzie pełnotekstowe pierwszy-czas wartość parametru określa planu kwerend.Można ZOPTYMALIZOWAĆ dla wskazówkę dotyczącą kwerendy kwerend, aby wartość chcesz wymusić.Pomaga osiągnąć planu kwerend przewidywalne i lepszą wydajność.
Zbyt wiele fragmentów indeksu pełnotekstowego indeksu pełnotekstowego można prowadzić na znaczne pogorszenie wydajności kwerendy.To reduce the number of fragments, reorganize the full-text catalog by using the REORGANIZE option of the ALTER FULLTEXT CATALOG Transact-SQL statement.To instrukcja zasadniczo scala wszystkie fragmenty pojedynczego fragmentu większy i usunięcie wszystkich przestarzałych wpisów indeksu pełnotekstowego.
W SQL Server 2008 wyszukiwania pełnotekstowego, określone w ZAWIERA operatory logicznetabela (AND, OR) może być implementowana sprzężeniami SQL albo wewnątrz streaming wykonanie pełnego tekstu tabela-wycenione funkcje (STVF).Zazwyczaj kwerendy zawierające tylko jeden typ operatory logiczne są implementowane czysto przez wykonanie pełnego tekstu kwerend, które wymieszać operatory logiczne również posiadać sprzężeń SQL.Implementacja operator logiczny wewnątrz wykonanie pełnego tekstu STVF używa niektóre właściwości indeksu specjalne, które dużo szybciej niż SQL sprzężenia.Z tego powodu zaleca się, tam gdzie to możliwe, możesz ramki kwerend przy użyciu tylko jeden typ operator logicznego.
Dla aplikacji, które zawierają selektywne relacji predications kwerendy używające selektywne predykaty relacyjnych i unselective predykaty pełnego tekstu może wykonywać najlepiej podczas zapisywania do używania optymalizator kwerendy.Pozwala zdecydować, czy może wykorzystać pushdown predykat lub zakres do wyprodukowania planu kwerend skuteczne optymalizator kwerendy.To podejście jest prostsze i często bardziej efektywne niż w relacyjnej bazie danych jako dane pełnotekstowego indeksowania.
Wyświetlanie wyników Tokenization dzielenie wyrazów, tezaurus i kombinacji Stoplist
Po zastosowaniu danej dzielącego, tezaurus i kombinacji stoplist do wprowadzania ciąg kwerendy, można wyświetlić przy użyciu wynik tokenizacja sys.dm_fts_parser dynamiczny widok zarządzania.Aby uzyskać więcej informacji, zobacz sys.dm_fts_parser (języka Transact-SQL).