Привет, меня попросили обновить раздел поиска ключевых слов на нашем сайте. Это должно быть как на картинке. Поиск ключевого слова Sql для полного текста - содержит или не содержит
Пользователь может выбрать один из двух вариантов из окна выбора, и это относится ко всему столбцу с полным текстом. Затем он/она вводит pharese или слово и говорит добавить. Он переходит к «содержит поле», и это означает, что результат поиска должен содержать это слово. Если пользователь перетащил его в другой, результаты поиска не должны содержать это слово/с. Я сделал это как-то. Но я беспокоился о производительности. Эти поисковые запросы происходят каждые 15 секунд в среднем, а таблица имеет ~ 30 миллионов записей. Это то, что я сделал:
INNER JOIN CONTAINSTABLE (FullTextDB,column1,'"software developer*"') ka on a.refnumber = ka.[key]
left JOIN CONTAINSTABLE (FullTextDB,column1,'"mvc*" ') ri on a.refnumber = ri.[key]
INNER JOIN CONTAINSTABLE (FullTextDB,column2,'"php*" ') yer on a.refnumber = yer.[key]
WHERE ri.[key] is null
Это приносит правильные результаты, но как я могу улучшить это. Я использовал левое соединение, чтобы исключить. Есть идеи? Спасибо.