Nano Hash - криптовалюты, майнинг, программирование

Лучший способ буквального поиска фразы в текстовом столбце в SQL Server

Я думал, что полнотекстовый поиск позволит мне выполнять поиск точной фразы более оптимизированным способом, чем предикат LIKE, но я читал, что это не совсем так.

Является ли «LIKE» наиболее эффективным способом поиска буквальной строки в тысячах строк полей TEXT в таблице?

Должно быть точное совпадение...


Ответы:


1

LIKE(string%) будет работать быстрее, если у вас есть правильный индекс в столбце, и вы ищете «строку» только в начале значения. Вы должны использовать LIKE(%string%), если "строка" может быть в середине вашего значения; В этом случае будет запущено сканирование таблицы, и оно будет медленным (в основном медленнее, чем полнотекстовый поиск). Вы можете использовать функцию CONTAINS() полнотекстового поиска для точного совпадения.

08.04.2009

2

Судя по всему, CONTAINS быстрее, чем LIKE запрос...

http://www.docstoc.com/docs/2280727/Microsoft-SQL-Server-70-Full-Text-Search-What-is-full-text-search

(Профилирование можно найти на странице 19 этой презентации)

08.04.2009

3

Какая у вас версия SQL Server? Я бы рекомендовал заменить TEXT на VARCHAR(MAX), если это возможно (SQL Server 2005 и выше).

Что заставляет вас говорить, что полный текст не будет работать? Как вы настроили полнотекстовые запросы и как выглядят ваши полнотекстовые запросы?

Марк

08.04.2009
  • Я настроил полнотекстовый режим с помощью SQL Server Management Studio и создал полнотекстовый каталог с полнотекстовым индексом для поля в одной из моих таблиц. Мой запрос: ВЫБЕРИТЕ ТОП-10 серийных_номер,писатель_идентификатор,письмо,назначение_тип,поддата,название ОТ write_onsite ГДЕ СОДЕРЖИТ (написание «возьми один раз») 09.04.2009
  • - запрос возвращает то, что есть в начале, любое количество слов в промежутке, затем слово один раз. Я просто хочу, чтобы буквальная фраза возьми это один раз 09.04.2009
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..