SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.03.2010 16:43:32

msasoft
Участник
Зарегистрирован: 09.03.2010
Сообщений: 12

Оптимизация LIKE %text%

Есть таблица с количеством записей больше 7000000.
Раньше данные из этой таблицы выбирались с помощью LIKE '%text%'
Так как выборки происходили очень долго я начал использовать полнотекстовый поиск и выборки делаю с помощью
MATCH(field) AGAINST ('text*' IN BOOLEAN MODE)

При данном поиске естественно упускаются данные типа: 123text123, 456text

Как можно поступить в данном случае? Меня также интересуют и упущенные данные.

Неактивен

 

#2 09.03.2010 20:13:01

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Оптимизация LIKE %text%

Никак, это не слова, а части слов.

Можете сделать отдельную табличку типа полнотекстового индекса, и искать
уже по ней. Поддерживать надо будет, конечно, вручную, но будет искать так,
как Вы хотите. Хотя, кажется, оно того не стоит.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson