Живой поиск, оптимальные механизмы.

Flyer

Новичок
Здравствуйте.

Столкнулся с требованием нового веяния, "живой поиск" вроде окрестили.

Имеется ввиду когда пользователь например регистрируется и должен выбрать город, он начинает вводить свой город, а ему уже предлагаются готовые варианты. Безусловно это удобно и классно... НО это блин огромнейшее кол-во обращений к базе по каждому нажатию клавиши. И что то меня это стало смущать.

Как вариант решения проблемы подумалось после ввода 3х-4-х первых символов передать в браузер список тех же подходящих городов из базы(LIKE '%мос%'), а потом уже явой на стороне браузера осуществлять этот поиск дальше по полученным данным. Если пользователь, удаляет какие то первые символы, то тогда повторно лезть в базу...

Может я изобретаю велосипед, и какие то механизмы уже давно отработаны и применяются форумчанами? Не поделится кто?

Заранее спасибо!
 

WMix

герр M:)ller
Партнер клуба
не уверен что в таком случае пойск будет оптимальней, какое колличество городов ты собрался возвращаять на нажатие кнопки, и какая вероятность что один из них уже в списке?,..
может просто сортировать по частоупотребляемым городам бцв по населению

и каким образом ты собрался "не возвращать" те города которые уже у клиента?
 

Redjik

Джедай-мастер
У тебя over 9000 регистраций в день?
Зачем парится - база потерпит твои обращения...
 

Adelf

Administrator
Команда форума
Преждевременная оптимизация это.
Одна из бед программирования.
 

Фанат

oncle terrible
Команда форума
огромнейшее кол-во обращений к базе по каждому нажатию клавиши.
не понял, почем на одно(каждое) нажатие происходит огромнейшее кол-во обращений к базе? разве не один запрос нужен?

из ещё непоняток - почему ты ставишь два процента, а не один. думаешь, кто-то будет вводить "осква"?

в принципе, лайк без процента слева должен достаточно быстро искать по индексу.
 
Сверху