|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/371.32 06 Feb 2001 20:14:42 To : Tarasov Subject : Re: Постраничный вывод -------------------------------------------------------------------------------- В твоём письме от Tue, 06 Feb 2001 12:44:01 +0300 написано: AC>>>> P.S. ... LIMIT ".($query->param('page')*20)",20 ... AA>>> Это понятно. Hо в таком случае серваку каждый раз придется делать AA>>> отбор записей, чтобы пропускать уже найденные. Это конечно не длолжно AA>>> меня интересовать как программера, но на загрузке сервака может AA>>> сказаться. Или я не прав? RB>> Тебя это не должно волновать если у тебя стоит неправильный сервер RB>> БД. RB>> Если правильный - не закрывай курсор. tpl> А если воспользоваться старым тезисом: "Простота спасет мир". tpl> При первом запросе база возвращает массив ID записей, tpl> удовлетворяющих запросу. Мы их сортируем, находим пересечение множеств tpl> для сложных запросов и т.п. Затем пишем их во временный файл. tpl> А в выводе результатов для каждой страницы указываем не только tpl> с какой записи нужно начинать, но и имя временного файла. tpl> Затем, при запросе следующей страницы, если скрипт видит, что tpl> в запросе присутствует имя файла, он берет список ID оттуда tpl> и запрашивает у базы только нужные 20 записей по их ID. tpl> Если же имени файла в запросе нет, вся работа проделывается tpl> полностью с самого начала. А раз в сутки все временные файлы tpl> удаляются. Простота, говоришь... Экую ты базу данных поверх базы данных навернул... -- Artem Chuprina E-mail: ran@ran.pp.ru Programmer FIDO: 2:5020/371.32 Memonet Ltd. Phone: +7-095-284-1356 --- slrn/0.9.6.3-as (Linux) * Origin: AKA с подствольным плюсомётом (2:5020/371.32) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/72479d72017cf.html, оценка из 5, голосов 10
|