Пишу небольшой аналог АИБ(Анонимной Имидж Борды). Чисто для опыта, не более.
На сколько все знают, в режиме просмотра раздела видны по 3 сообщения для каждого треда:
1) оп-пост
2,3) последние посты
Проблема проста как 2 пальца:
Если не использовать пререндер страниц(как сделано в вакабе и других АИБ), то получается что при маппинге с Foreign Key Message -> Thread нужно на один рендер использовать 1+N запросов, а то и 1+N*2(N - количество тредов на странице).
1) запрос информации по тредам
N) запросы на сообщения для каждого треда
/
N1) запросы на оп-посты
N2) запросы на последние сообщения треда
Вот сижу и думаю как делают это человеки. Кешинг понятно, но на таком уровне нужно ведь делать оптимизацию? Или кешинга хватит?
Через ab прошёлся и увидел что разница количества запросов(скорости) аж в 2!!! раза.
Какая мысль:
Завести в таблице тредов ещё 3 набора полей для оп-поста и для последних 2х сообщений, но мне кажется это быдло-метод.
Что посоветуете?
Похожие темы
- Форум проектирование БД (2015)
- Форум Проектирование БД (2014)
- Форум Проектирование БД (2006)
- Форум Проектирование БД (2004)
- Форум Проектирование БД: наследование (2019)
- Форум Оптимизация запроса (2012)
- Форум Вопрос по проектированию БД (2014)
- Форум Проектирование таблиц в БД (2014)
- Форум Вопрос по проектированию БД (2006)
- Форум Софт для проектирования БД (2006)