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

akxxiv

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

Мне попросили написать движок сайта, на котором должен быть организован поиск по фирмам (адреса, телефоны, ...)
В каталоге фирм около миллиона записей. Мускул потянет такой объем?
 

_RVK_

Новичок
Что характерезует слово "потянет"? Не упадет это точно. А скорость зависит от множества факторов и выясняется в процессе тестирования.
 

ForJest

- свежая кровь
akxxiv
А как ты собираешься реализовать поиск? Если через что-то типа
LIKE name = '$name%' OR LIKE address='$address' ...
то не потянет.
 

akxxiv

Новичок
Да вот не знаю пока как. А есть рекомендации полезные? Как надо делать?
 

ForJest

- свежая кровь
fulltext search на MySQL
или же почитай, для общего развития
http://spectator.ru/technology/php/php_search
 

SibProgrammer

Новичок
Автор оригинала: ForJest
Если через что-то типа
LIKE name = '$name%' OR LIKE address='$address' ...
то не потянет.
В свое время переводил базу ГИБДД из MS Access'а в MySQL. Записей около миллиона (были созданы все нужные индексы). Перевод совершался для создания веб-морды для внутреннего использования этой базы (так уж решили).
Естественно большинство запросов - это LIKE name = '%something%'
Скорость впечатляла - сейчас под рукой нет этой БД, но насколько помню - все запросы выполнялись менее 1 сек.
 

_RVK_

Новичок
У меня был опыт работы с БД около 400-500 т.з. записей. Ощутимых тормозов не ощущалось (извините за тафталогию)
 

Profic

just Profic (PHP5 BetaTeam)
Tables: 31
Rows: 732,903
Size: 59.9 MB
Все это дело после переноса из аксесса просто летало. Т.е. запросы выполнялись в основном за 1-2 секунды. Но следует учесть, что foreign keys там были реализованы на строках.
 

ForJest

- свежая кровь
SibProgrammer
Естественно большинство запросов - это LIKE name = '%something%'
если в начале шаблона поиска для стоит % LIKE, то индекс не используется. Поэтому на миллионе записей должны быть ощутимые тормоза.
 

alexhemp

Новичок
akxxiv

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