W mojej bazie danych mam tabelę zawierającą identyfikator firmy, wskazującą firmę i tekst. Chciałbym wykonać wyszukiwanie FULLTEXT, ale ponieważ zawsze wysyłam żądania na konkretny identyfikator companyId, chciałbym użyć klucza złożonego, który łączy mój identyfikator companyId i fulltext. Czy jest to mimo wszystko? Jak sądzę, nie jest to możliwe, jaki jest optymalny sposób tworzenia indeksów, aby następująca kwerenda była najszybsza?Indeks pełnego tekstu w połączeniu z normalnym indeksem
Żądanie zawsze będzie
SELECT * FROM textTable
WHERE companyId = ? (Possibly more conditions) AND
MATCH(value) AGAINST("example")
Czy mogę tworzyć moje indeksy na kolumnach całkowitych normalnie i dodać jeden indeks pełny? lub czy powinienem dołączyć kolumnę value
do indeksu? Może obydwa ?
Dlaczego nie utworzyć obu, pokazać plan wykonania, aby sprawdzić, który indeks jest używany, a następnie zdecydować? – trincot
Czy to już sprawdziłeś? http://stackoverflow.com/questions/1173418/sql-server-normal-index-vs-fulltext-index także to (zauważ, że to jest ponad 3 lata, chociaż): https://makandracards.com/makandra/12813 - analiza wydajności-of-mysql-s-fulltext-indexes-i-like-query-for-full-text-search –
@trincot Mogę to zrobić dla indeksów, które mam na myśli, ale nie będę w stanie tworzyć indeksy, o których nie myślałem. Próbuję uzyskać wgląd, którego sam nie mogę znaleźć. p.marino: Moje pytanie nie dotyczy określenia, czy powinienem używać pełnotekstowego indeksu lub normalnego, ale jak utworzyć klucz złożony, który je łączy (i jeśli nie mogę, najbliższe podejście) – hilnius