Большая статистика из таблиц. Как правильно считать данные в БД, как вы это делаете?
Как правильно проектировать статистику чего-то?
Считать БД можно/нужно? Или лучше вся статистика должна быть уже обработана, и просто лежать в БД?
Имею ввиду всякие COUNT, AVG, SUM и так дальше, на стороне БД. Либо делать пред-обработку сразу по поступлению данных?
Адекватно ли будет это все считать силами самой БД в реальном времени, или это глупый подход?
Пускай мы должны работать с 3 таблицами(Joins + subquery), которые выводят результат в 100 строк, и в каждой строке по 10 колонок. Все 10 колонок это данные операторов агрегации.
Сами таблицы в себе вмещают до 100к строк данных каждая.
Всё зависит от конкретного случая, универсального ответа на ваш вопрос нет. Как человек, более близкий к админству, могу сказать, что на объёмах в сотни тысяч строк, то есть вполне помещающихся в оперативную память, вполне можно не заморачиваться преждевременной оптимизацией, главное, чтобы в таблицах были нужные индексы.
dimonchu, про адекватный ответ - могу сказать, что до поры до времени.
Потом, придётся применять то, что я посоветовал: иначе - ничего не сможете сделать.
dimonchik2013, я б её вообще не использовал в моем случае) потому что для выборки статистики это через чур. То, что она работает при больших масивах данных, хорошо известно. Но следует ли использовать отдельную СУБД для решения локальной задачи? - нет, тем более, что для неё тоже нужны выделять ресурсы. Это не рационально.
Всё зависит от конкретной задачи.
Одни статистики считаются сразу, если они выполняются редко и/или быстро.
Если статистика тяжело считается, но её актуальность суточная, то выбирается время наименьшей активности юзеров. У нас это 4 часа утра в текущем регионе (+ в выходные ещё меньше). В это время запускается и считается тяжёлая статистика. Результаты отправляются в отдельную таблицу, откуда эти данные потом быстро забираются. Либо сразу подготавливается html-страница с отчётом.
Примерно то же самое, если актуальность в несколько часов или минут.
100к строк в таблице - это вообще ни о чём. Крохотулечная табличка. Тут всё зависит от самого запроса, как он написан.