Тема: mySQL Forum
Показать сообщение отдельно
Старый 21.06.2002, 18:48
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 9  
Crazy
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Любой форум имеет весьма специфическую операцию: выдачу треда. При этом нужно выбрать из базы несколько десятков ответов, отформатировать их, отфильтровать и т.п. На все это уходит весьма много времени.

В то же время для любого форума характерно то, что число обращений по чтению на порядки превышает число добавляемых постингов. Соответственно вполне логичной является мысль формировать HTML-код треда только при добавлении нового постинга.

Это можно делать либо сразу после постинга, либо по первому обращению к изменившемуся треду. Второе обычно проще.

В примитивном варианте схема такова:

1. В отдельном каталоге храним HTML-файлы тредов (один на каждую страницу треда).

2. При добавлении сообщения стираем все HTML-файлы этого треда.

3. При обращении к треду на чтение проверяем, существует ли запрошенная HTML-страница и либо сразу отдаем ее, либо формируем, сохраняет и отдаем.

Для удобства формирования таких псевдостатических страничем в PHP есть функции ob_*, в perl'е -- в зависимости от используемых модулей.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++