Задача по поиску в БД. Очень прошу помочь! За денюжку ))

  • Автор темы Автор темы Endrus
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Endrus

Новичок
Задача по поиску в БД. Очень прошу помочь! За денюжку ))

Добрый день!

Требуется помощь в решении задачи:

Есть MySQL-База "Фамилия-Толкование" (Т.е., база с толкованием происхождения фамилии). Размер дампа базы - 17,9 мб, кодировка cp1251, 15396 фамилий.

Структура: "ID", "title", "about", "word".
Пример: "40136", "Донин", "*Расшифровка", "Д"(Первая буква фамилии)

Требуется сделать оптимальным образом поиск, чтобы по введенной пользователем фамилии возвращалось значение "About", т.е. расшифровка.


Готов оплатить данную работу! Очень прошу откликнуться знающих!!

Заранее Спасибо!
 
странно.
из базы на картинку достать можешь, а просто вывести на экран - нет.
непонятно, в чем проблема.
 
Проблема организовать оптимальным образом поиск.. Если просто искать по всей таблице - начинает сильно висеть!

Идей по оптимизации нету, т.к. я новичoк ((
 
я так понимаю, что "искать по всей таблице" - это делать запрос
select * from table и потом перебирай каждый ответ, сравнивать с введенной строкой?
 
Да, именно так

-~{}~ 09.09.09 12:16:

А такую форму можно использовать? Т.е., искать только в результатах, удовлетворяющих условию "Первая буква = Д" (К примеру)?

select * from db_guest where (word='Д')

Синтаксис такой, кажется?
 
А идея сразу искать введенную фамилию тебе не приходит в голову?
 
Автор оригинала: *****
А идея сразу искать введенную фамилию тебе не приходит в голову?
Приходит.. Только разве это будет быстрее? Я имел ввиду, что коммандой select * from db_guest where (word='Д') - можно сократить время поиска за счет того, что сначала произойдет отфильтровывание лишнего (Т.е. всех строк, у которых первая буква не "Д")
 
то есть, поиск по фамилии лишнее не отфильтрует
оригинальный стиль мышления.

-~{}~ 09.09.09 12:31:

ВМЕСТО БУКВЫ искать сразу ФАМИЛИЮ тебе идея в голову не приходит?
 
Блин! Да я не об этом писал!

В таблице есть отдельный столбец "word", в котором находится первая буква каждой фамилии. Т.е., отфильтровывая по этому столбцу мы ищем ТОЛЬКО по 100-150 строкам.

А вот если искать сразу по всей таблице - это поиск по 15000 строкам!!

Может, я чего-то не правильно понимаю, но разве первый способ не быстрее?
 
Дятел. Отфильтровывая по столбцу title, в котором находятся все буквы фамилии, мы ищем по ... догадаешься самостоятельно, скольким строкам?
 
Слушай, уважаемый *****! А ты можешь не гнуть пальцы, а набросать мне этот пресловутый код?

Я в самом начале написал, что в теме не силен. Умника из себя не строил, а просил помочь.. Написал даже, что готов отблагодарить финансово.

В чем вообще проблема?
 
На вопрос ответь

-~{}~ 09.09.09 15:08:

Впрочем, ладно.
Тема закрыта. Оффтопик.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху