GaRRiLL
Guest
Как лучше организовать структуру таблицы тем форума?
1. Есть у меня вывод топиков форума, нужно формировать ещё инфу об авторе, дате последнего сообщения и т.д. Сейчас в таблице topics есть просто поля first_post_id, last_post_id, с помощью которых можно с помощью связанной выборки вытащить всё, что надо.
Вот такая вот выборка:
Структура данных здесь нормальная. Но вот выборка эта из пять таблиц, не будет ли это медленным при реальной нагрузке?
2. Добавить в topics поля first_post_time, last_poster_id, last_poster_name, last_post_time
и тянуть это так:
Что же лучше: правильно организовать структуру или так сказать извратиться со структурой для того, чтобы облегчить SELECT и тем самым засорять одну таблицу тем, что есть в другой?
1. Есть у меня вывод топиков форума, нужно формировать ещё инфу об авторе, дате последнего сообщения и т.д. Сейчас в таблице topics есть просто поля first_post_id, last_post_id, с помощью которых можно с помощью связанной выборки вытащить всё, что надо.
Вот такая вот выборка:
PHP:
SELECT t.topic_id, t.topic_subject, u.username AS author_name, u.user_id AS author_id, u2.username as last_poster_name, u2.user_id as last_poster_id, p.post_time AS first_post_time, p2.post_time AS last_post_time
FROM forums_topics t, users u, forums_posts p, forums_posts p2, users u2
WHERE t.forum_id = 6
AND p.poster_id = u.user_id
AND p.post_id = t.first_post_id
AND p2.post_id = t.last_post_id
AND u2.user_id = p2.poster_id
2. Добавить в topics поля first_post_time, last_poster_id, last_poster_name, last_post_time
и тянуть это так:
PHP:
SELECT t.*
FROM forums_topics t, users u, forums_posts p, forums_posts p2, users u2
WHERE t.forum_id = 6