но там к примеру может быть 10 или 15 полей (там id, name, city, username, birth... и т.д). Это нормальная практика делать столько столбцов в таблице, или это лучше как-то разделить допустим на 2 таблицы?
select count(*) from pg_attribute where attrelid = 1264048910 and attnum > 0 and not attisdropped; count ------- 123 (1 строка)
Значит да, может быть много полей и ничего страшного?
ну вот все что не меняется по пользователю можно и в одну таблицу. но на практике человек даже им может сменить.
Разделять просто потому что гораздо хуже чем много столбцов в таблице
Число колонок не так страшно, сколько страшен общий размер строки. Желательно чтобы он был до 2кбайт.
> ну вот все что не меняется по пользователю можно и в одну таблицу Только если есть требование хранения истории изменений каких-то атрибутов. А так всему, что относится к пользователю, место в таблице пользователей.
Это "всего лишь" теоретически неправильное моделирование, притом без каких-либо адекватных причин, just FYI. Т.е. чем наличие 15 полей хуже, чем 2 (5, 15...) таблиц?
Накладные расходы на их соединение, повышенная сложность, повышения вероятность ошибок
Это Вы написали или нет? > Разделять просто потому что гораздо хуже чем много столбцов в таблице И теперь сами же против этого возражаете? ;)
Какому своему утверждению я противоречу?
Обсуждают сегодня