![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Drex |
|
|||
|
Unregistered |
Коллеги. Господа… Ваше мнение не будет лишним… Проблема такова: для некоторого проекта реализован «интеллектуальный» поиск и отбор информации следующим образом: первое - выполняется запрос на выборку из базы (SELECT…LIKE), второе - среди полученного множества отбираются данные и формируется массив «веса» (чем чаще встречается поисковое слово, тем номер записи в массиве находится выше), третье - используя mysql_data_seek и массив «весов» «прыгаю» по отобранным данным и формирую конечный вывод (echo…). Есть предположение что такой алгоритм ну очень сильно грузит сервер и система в конце концов «падает». Ваше мнение? А может есть другой оригинальный алгоритм реализации подобного действа?
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Прочитай данные с БД сразу в массив, а затем уже в массиве расставляй веса и затем делай по массиву сортировку.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
Что-то мне все это сильно напоминает полнотекстовый поиск... который сам выдает вес...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Guest |
|
||||
|
Unregistered |
Вообщем то это примерно так и реализовано...
А чтоенто такое и где про это можно почитать подробнее? В общем то если это делать разово (отбор, подсчет весов, вывод) то все бы нечего, но плюс к этому алгоритму реализована "листалка" и соответственно открывая следующую страницу все повторяется заново (отбор, подсчет весов, вывод) вот здесь и происходит несварение сервера... Пусть простит меня Модератор за саморекламу - на проект можно глянуть на www.filecatalog.com.ru - не хотелось бы хоронить такое дитя |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Данные у тебя находтися в резалте от MySQL, что не есть хорошо в данном случае. |
|||
|
||||
| Drex |
|
|||
|
Unregistered |
Мда... Может быть в этом есть смысл... Да, но как со станицы на страницу при листании кидать этот массив... Если бы можно было бы его создать однократно, а после кидать его со страницы на страницу в течении сессии может быть и прокатило... А так какой смысл - я страницу открыл (перелистнул) в результе получил массив, после его еще раз кидать в массив... Что то не то. А можно как ни будь сделать переменную к сессии т.е. перебрасывать массив со страницы на страницу? Вот это бы точно помогло…
|
|||
|
||||
| mr.fox |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 13.3.2005 Где: Ирландия Репутация: 1 Всего: 2 |
это не всегда решение, у меня например был опыт с базой в 269771 записей (как ща помню чудное мнгномени |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Это частный случай. И вообще вопросы касательно огромных объемов данных решаются индивидуально. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |