Когда необходимо использовать полнотекстовое индексирование?

Скорее всего, у вас установлено некоторое расширение форматирования, например. JS-CSS-HTML Formatter .

Если это так, то просто откройте Command Palette, введите «Formatter» и выберите Formatter Config. Затем отредактируйте значение "indent_size" по своему усмотрению.

P.S. Не забудьте перезапустить Visual Studio Code после редактирования:)

49
задан marc_s 18 March 2016 в 00:16
поделиться

3 ответа

Это будет зависеть от Вашего DBMS. Я полагаю, что большинство систем не использует в своих интересах полнотекстовый индекс, если Вы не будете использовать полнотекстовые функции. (например, СООТВЕТСТВИЕ/ПРОТИВ в MySQL или FREETEXT/CONTAINS в SQL MS)

Вот хорошая статья о том, когда, почему, и как использовать полнотекстовое индексирование в SQL Server: Полнотекстовое индексирование SQL Server Понимания

31
ответ дан Prestaul 7 November 2019 в 11:53
поделиться

FTS может справка в этом сценарии, вопрос состоит в том, стоит ли это того или нет.

Для начала, давайте посмотрим на то, почему LIKE может не быть самый эффективный поиск. Когда Вы используете LIKE, особенно когда Вы ищете с % в начале Вашего сравнения, SQL Server должен выполнить и сканирование таблицы каждой строки и байт проверкой байта столбца, который Вы проверяете.

FTS имеет некоторые лучшие алгоритмы для соответствия данным, как делает некоторую лучшую статистику по изменениям имен. Поэтому FTS может обеспечить лучшую производительность для соответствия Smith, Smythe, Смизерса, и т.д. при поиске Smith.

Это, однако, немного более сложно для использования FTS, поскольку необходимо будет освоить CONTAINS по сравнению с FREETEXT и тайный формат поиска. Однако, если Вы хотите сделать поиск, где или FName или соответствие LName, можно сделать это с одним оператором вместо ИЛИ.

, Чтобы определить, будет ли FTS эффективным, определите, сколько данных Вы имеете. Я использую FTS на базе данных нескольких сотен миллионов строк, и это - реальная выгода по поиску с LIKE, но я не использую его на каждой таблице.

, Если Ваш размер таблицы более разумен, меньше чем несколько миллионов, можно получить подобную скорость путем создания индекса для каждого столбца, на котором Вы собираетесь быть поиском, и SQL Server должен выполнить индексное сканирование, а не сканирование таблицы.

20
ответ дан Josef 7 November 2019 в 11:53
поделиться

Для ответа на вопрос специально для MSSQL полнотекстовое индексирование будет НЕ справка в сценарии.

для улучшения того запроса, Вы могли выполнить одно из следующих действий:

  1. , Настраивают полнотекстовый каталог по столбцу и используют СОДЕРЖАНИЕ () функция.
  2. , Если Вы, прежде всего, искали с префиксом (т.е. соответствовали от запуска имени), Вы могли изменить предикат на следующее и создать индекс по столбцу.

    , где fname как '% префикса'

(1) является, вероятно, излишеством для этого, если производительность запроса не является большой проблемой.

3
ответ дан Brannon 7 November 2019 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: