Потянет ли мускул???

  • Автор темы Автор темы akxxiv
  • Дата начала Дата начала

akxxiv

Новичок
Потянет ли мускул???

Мне попросили написать движок сайта, на котором должен быть организован поиск по фирмам (адреса, телефоны, ...)
В каталоге фирм около миллиона записей. Мускул потянет такой объем?
 
Что характерезует слово "потянет"? Не упадет это точно. А скорость зависит от множества факторов и выясняется в процессе тестирования.
 
akxxiv
А как ты собираешься реализовать поиск? Если через что-то типа
LIKE name = '$name%' OR LIKE address='$address' ...
то не потянет.
 
Да вот не знаю пока как. А есть рекомендации полезные? Как надо делать?
 
fulltext search на MySQL
или же почитай, для общего развития
http://spectator.ru/technology/php/php_search
 
Автор оригинала: ForJest
Если через что-то типа
LIKE name = '$name%' OR LIKE address='$address' ...
то не потянет.
В свое время переводил базу ГИБДД из MS Access'а в MySQL. Записей около миллиона (были созданы все нужные индексы). Перевод совершался для создания веб-морды для внутреннего использования этой базы (так уж решили).
Естественно большинство запросов - это LIKE name = '%something%'
Скорость впечатляла - сейчас под рукой нет этой БД, но насколько помню - все запросы выполнялись менее 1 сек.
 
У меня был опыт работы с БД около 400-500 т.з. записей. Ощутимых тормозов не ощущалось (извините за тафталогию)
 
Tables: 31
Rows: 732,903
Size: 59.9 MB
Все это дело после переноса из аксесса просто летало. Т.е. запросы выполнялись в основном за 1-2 секунды. Но следует учесть, что foreign keys там были реализованы на строках.
 
SibProgrammer
Естественно большинство запросов - это LIKE name = '%something%'
если в начале шаблона поиска для стоит % LIKE, то индекс не используется. Поэтому на миллионе записей должны быть ощутимые тормоза.
 
akxxiv

1. Используй FULLTEXT индекс
2. Построй свой собственный инвертированный индекс в отдельных таблицах и используй его в поиске (ведь база меняется редко, индекс один раз построить и мимум изменений вносить).
 
Сверху