Каждый раз, когда вы начинаете объединять таблицы, вы рискуете сделать свой запрос довольно медленным (по мере роста таблиц).
Одним из вариантов будет кэширование результатов, чтобы вам не нужно было запускатьзапрашивать каждый раз, когда страница загружается.(Я думаю, что CI дает вам возможность кэширования запросов)
Другой вариант - это иметь другое поле в таблице пользователей, в котором будет указано количество веток форума и количество комментариев, которые они сделали.Когда вы вставляете новую запись в базу данных, вы также увеличиваете этот счетчик.Поэтому, когда вы загружаете данные, которые вам нужны, на странице статистики, вы просто запрашиваете таблицу 1.
Второй вариант дает вам, очевидно, немного большие накладные расходы, выполняя другой запрос при вводе других данных,и уменьшается при удалении одного.И / или создание сценария обслуживания, который гарантирует, что значения в таблице пользователей на самом деле точны (и периодически запускаются в фоновом режиме).
В любом случае, я чувствую, что сейчас просто болтаю.Я надеюсь, что некоторые, если это имело смысл!