|
|
|
| Пусть имеются две таблицы: "Темы" и "Сообщения".
При выводе заголовков тем, напротив каждой необходимо вывести в скобках количество сообщений, соответствующих этой теме.
Как лучше сделать:
1. При выводе каждой темы считать количество соответствующих сообщений из таблицы "Сообщения"
или же
2. В таблицу "Темы" добавить поле "Количество сообщений", и, при добавлении сообщения, обновлять значение этого поля
???
Надеюсь, объяснил понятно | |
|
|
|
|
|
|
|
для: Roma
(17.03.2007 в 19:55)
| | . | |
|
|
|
|
|
|
|
для: Roma
(17.03.2007 в 19:55)
| | 3. При выводе тем - запрашивать число сообщений в темах соответствующим sql-запросом.
SELECT id_theme, COUNT(id) AS msg_in_theme, FROM messages GROUP BY id_theme
|
| |
|
|
|
|
|
|
|
для: Roma
(17.03.2007 в 19:55)
| | Лучше по второму варианту - если сообщений будет много - это сэкономит не мало ресурсов. | |
|
|
|
|
|
|
|
для: cheops
(18.03.2007 в 01:04)
| | Я так понимаю, что запрос будет бежать по соответствующему индексу (id_theme), даже не трогая данные....
А по какому варианту реализован liteforum? | |
|
|
|
|
|
|
|
для: Trianon
(18.03.2007 в 01:17)
| | К сожалению, по первому варианту - архив правда по второму. | |
|
|
|
|
|
|
|
для: Roma
(17.03.2007 в 19:55)
| | Я делаю так. Добавляет юзер сообщение в тему, выполняется
# ОБНОВЛЕНИЕ ДАТЫ И КОЛЛИЧЕСТВО КОММЕНТОВ В ТОПИКЕ
mysql_query("UPDATE forum_post set date_up='".$date."', comm_num=comm_num+1 where id='".$id."'");
|
Мне кажется это лучше, чем при каждом просмотре подсчитывать колличество сообщений соответствующих этой теме. | |
|
|
|