У меня есть база данных со столами для видео/пользователей/сообщений.Таблицы с отношением 1-1 (информация и статистика)
видео таблица содержит информацию о видео
- ID
- название
- описание
- владелец
- ...
Пучок статистики (которые обновляются живут)
- просмотры
- позитивных голоса
- отрицательных голоса
- ...
А также куча расчетных значений (которые обновляются один раз в день или неделю)
- calculate_votes
- is_popular
- репутации
- ...
Я в конечном итоге с довольно большими столами. Разве это могло бы разделить его? (table: videos, videos_statistic)
Который в итоге оказался бы отношением 1-1.
Я никогда не был поклонником отношения 1-1, существуют ли какие-либо «правила», когда говорят, что это нормально?
Что вы подразумеваете под огромными огромными столами? Если вы имеете в виду количество столбцов, это не должно быть ограничением, если вам нужно 100 колонок, вам нужно 100 кумов. Если вы имеете в виду память, то в конечном итоге вы будете использовать больше памяти с несколькими таблицами. Я не вижу причин, по которым одна большая таблица, индексированная должным образом, была бы хуже, чем несколько таблиц. И несколько таблиц приводят к дополнительным проблемам обслуживания. У вас действительно есть проблемы с производительностью? – GarethD
Для такого использования (некоторые столбцы в основном стабильны, некоторые из них обновляются очень часто, а некоторые редко) я бы выбрал разделение таблицы на 3. –
Это также зависит от того, как используются ваши статистические данные. Вы можете полностью перенести свою статистику в среду OLAP. – GarethD