|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Tarasov Sergej 2:5020/175.2 06 Feb 2001 13:44:01 To : Ruslan Bondarev Subject : Re: Постраничный вывод -------------------------------------------------------------------------------- Sun Feb 04 2001 13:21, Ruslan Bondarev wrote to Alexander Averbuh: RB> Привет Alexander. RB> Суббота Февраль 03 2001 21:53, Alexander Averbuh -> Artem Chuprina: AC>>> P.S. ... LIMIT ".($query->param('page')*20)",20 ... AA>> Это понятно. Hо в таком случае серваку каждый раз придется делать AA>> отбор записей, чтобы пропускать уже найденные. Это конечно не длолжно AA>> меня интересовать как программера, но на загрузке сервака может AA>> сказаться. Или я не прав? RB> Тебя это не должно волновать если у тебя стоит неправильный сервер RB> БД. RB> Если правильный - не закрывай курсор. А если воспользоваться старым тезисом: "Простота спасет мир". При первом запросе база возвращает массив ID записей, удовлетворяющих запросу. Мы их сортируем, находим пересечение множеств для сложных запросов и т.п. Затем пишем их во временный файл. А в выводе результатов для каждой страницы указываем не только с какой записи нужно начинать, но и имя временного файла. Затем, при запросе следующей страницы, если скрипт видит, что в запросе присутствует имя файла, он берет список ID оттуда и запрашивает у базы только нужные 20 записей по их ID. Если же имени файла в запросе нет, вся работа проделывается полностью с самого начала. А раз в сутки все временные файлы удаляются. --- ifmail v.2.15 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/33009ff1d872.html, оценка из 5, голосов 10
|