Q1: Какое максимальное количество таблиц может хранить в базе данных?
Q2: Какое максимальное количество таблиц может объединиться?
Q1: Какое максимальное количество таблиц может хранить в базе данных?
Q2: Какое максимальное количество таблиц может объединиться?
Q1: нет явного ограничения в документах. На практике некоторые операции - это O (n) для числа таблиц; ожидают увеличения времени планирования и проблем с такими вещами, как autovacuum, поскольку вы получаете в тысячах или десятках тысяч таблиц в базе данных.
Q2: Это зависит от запроса. Как правило, огромные профсоюзы - плохая идея. Наследование таблиц будет работать немного лучше, но если вы используете constraint_exclusion
, это приведет к значительному увеличению времени планирования.
Оба эти вопроса указывают на основную проблему с вашим дизайном. Вам не нужно огромное количество таблиц и гигантских союзов.
Следуя комментарию в другом ответе, вы должны просто создать несколько таблиц. Кажется, вы хотите создать одну таблицу на номер телефона, что бессмысленно, и создать над ним число просмотров. Не делайте этого, это несовместимо с данными, и с ними будет работать сложнее, а не проще. Индексы, где предложения и объединения позволят вам использовать данные более эффективно, когда они логически структурируются в несколько таблиц. Я предлагаю изучить базовое реляционное моделирование.
Если вы столкнетесь с проблемами масштабируемости позже, вы можете посмотреть partitioning, но для этого вам не понадобятся тысячи таблиц.
Оба в практическом смысле без ограничений.
Количество таблиц, которые может хранить база данных, ограничено пространством на вашей дисковой системе. Однако наличие базы данных с более чем несколькими тысячами таблиц скорее всего является выражением неправильного анализа вашего домена приложения. То же самое касается профсоюзов: если вам нужно объединить больше, чем несколько таблиц, вы, вероятно, должны посмотреть на свою структуру таблицы.
Один практический сценарий, когда это может произойти, - это Postgis: наличие множества таблиц со схожими атрибутами, которые могут быть объединены в одном представлении (это недостаток в дизайне Postgis IMHO), но обычно это обрабатывается приложением (например, ГИС).
Можете ли вы объяснить свой сценарий, когда вам понадобится очень большое количество таблиц, которые нужно запросить в одном прогоне?