@LyoSU
Программист-любитель

Как организовать быстрый поиск?

Есть база на 1 миллион+ с информацией об аудио.
Необходимо сделать поиск по полям artist и/или title.
Как лучше и быстрее всего это реализовать?
LIKE % ищет около 3 секунд, хотелось бы быстрее.
Буду рад ссылкам на статьи или готовые решения на эту тему.
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега MySQL
Пригласить эксперта
Ответы на вопрос 3
LaRN
@LaRN
Senior Developer
Можно провести нормализацию и вынести например поле artist в отдельный справочник, а в текущей таблице заменить его идентификатором artist-a. Тогда поис по артистам будет быстрым из небольшого их количества по сравнению с композициями, join таблиц по идентификатору намного быстрее like. По полю title нужна искать через like тут ничего не поделаешь.
Ответ написан
@sidni
Php Developer
Некоторые делают таблицу с ключевыми словами типа id,keywowds, а поик идет по полю кейвердс а там внутри основные слова по которым чаще всего осуществляется поиск пользователем
Ответ написан
Поисковый движок Сфинкс умеет индексировать и быстро искать в больших объёмах информации в MySQL и других БД.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы