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

Тема в разделе "SQL", создана пользователем sn@ke, 1 мар 2010.

  1. sn@ke

    sn@ke Member

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

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

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
  3. sn@ke

    sn@ke Member

    Регистрация:
    8 окт 2006
    Сообщения:
    21
    Симпатии:
    0
    Огромное спасибо за ссылку. Очень помогло. :KillMe:
     
  4. sn@ke

    sn@ke Member

    Регистрация:
    8 окт 2006
    Сообщения:
    21
    Симпатии:
    0
    Можно ли с помощью MATCH выполнить запрос LIKE %text%
    Или может каким то другим более быстрым способом.
     
  5. sn@ke

    sn@ke Member

    Регистрация:
    8 окт 2006
    Сообщения:
    21
    Симпатии:
    0
    К примеру раньше был запрос LIKE %abc%

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

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

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

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    что ты хочешь делать, понятно. поясни зачем ты хочешь это сделать. какой use case, ты таким образом хочешь реализовать.
     
Загрузка...

Поделиться этой страницей