• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Нужен совет по оптимизации запроса Mysql

  • Автор темы sn@ke
  • Дата начала
S

sn@ke

Есть таблица в которой 7 млн. записей.
Так вот нужен поиск в таблице по текстовым полям. Если просто искать через LIKE %текст% то ищет ооочень долго.

Что можно предпринять в данном случае?
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
?!
запросы с LIKE %текст% приводят к полному сканированию таблицы
 
S

sn@ke

Огромное спасибо за ссылку. Очень помогло. :KillMe:
 
S

sn@ke

Можно ли с помощью MATCH выполнить запрос LIKE %text%
Или может каким то другим более быстрым способом.
 
S

sn@ke

К примеру раньше был запрос LIKE %abc%

Для оптимизации выборки я начал использовать полнотекстовый поиск.

MATCH (field) AGAINST ('abc*' IN BOOLEAN MODE)

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

Kmet

Well-known member
25.05.2006
904
8
BIT
0
что ты хочешь делать, понятно. поясни зачем ты хочешь это сделать. какой use case, ты таким образом хочешь реализовать.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!