Nie sądzę, że powinieneś mieć jakiś problem, jeśli dobrze rozumiem twoje pytanie. Często łączę pełny tekst i b-drzewo z doskonałymi wynikami. Podczas wyszukiwania pełnotekstowego każdy oddzielony „termin” jest traktowany jako indeks, tak jak w przypadku indeksowanej kolumny zawierającej tylko jeden termin (podaj lub weź trochę statystyk sql). Tak czy inaczej, SQL musi ustalić swoją ścieżkę wykonania. Wyszukiwanie pełnotekstowe nie faworyzuje porównywania wartości całkowitych/dat — więcej w przypadku dopasowywania ciągów danych rozdzielanych.
Wyobrażam sobie, że chciałbyś nadal wykorzystywać wydajność koncepcji b-drzewa na swoją korzyść. Wydaje mi się, że przeszukiwanie indeksu katalogu pełnotekstowego jest znacznie bardziej okrężnym przeszukiwaniem, chociaż o wiele bardziej korzystne w sytuacjach, w których do analizowania/porównywania ciągów używa się funkcji „LUBIE”.
Co robię to:
SELECT * FROM MyTable
WHERE CONTAINS(columnName, '"Toy Dog" OR "live animal"')
AND start_date > ###;
(zobacz ten artykuł msdn, aby uzyskać informacje o składni )
PS podczas indeksowania pełnego tekstu danych całkowitych, wyłącz stoplistę, aby te wartości nie były ignorowane w indeksowaniu katalogu.
Mam nadzieję, że to pomoże! (Nikt nie odpowiedział, więc pomyślałem, że dam swoje doświadczenie)