У меня есть таблица базы данных с несколькими столбцами; большинство из них являются столбцами типа VARCHAR(x)
, и некоторые из этих столбцов имеют индекс, так что я могу быстро искать данные внутри него.
Однако один из столбцов - это столбец TEXT
, поскольку он содержит очень большой объем данных (23 КБ простого текста в формате ascii и т. Д.). Я хочу иметь возможность искать в этом столбце (... WHERE col1 LIKE '%search string%'...
), но в настоящее время выполнение запроса занимает вечность. Я знаю, что запрос медленный из-за этого поиска в столбце, потому что, когда я удаляю этот критерий из предложения WHERE
, запрос завершается (что я хотел бы рассмотреть) мгновенно.
Я не могу добавить индекс для этого столбца, поскольку этот параметр недоступен для этого столбца в мастере / мастере создания индексов в SQL Server Management Studio.
Какие у меня есть варианты, чтобы ускорить поиск в этом столбце?
Спасибо за ваше время ...
Обновление
Итак, я посмотрел в полнотекстовый поиск и сделал все это, и теперь я хотел бы выполнять запросы. Тем не менее, при использовании «содержит», он принимает только одно слово; что если мне нужна точная фраза? ... WHERE CONTAINS (col1, 'search phrase') ...
выдает ошибку.
Извините, я новичок в SQL Server
Обновление 2
извини, просто разобрался; использовать несколько предложений «содержит» вместо одного предложения с несколькими словами. На самом деле, это все еще не дает того, что я хочу (точная фраза), а только обеспечивает присутствие всех слов в фразе.