Большое количество столбцов в таблице - PullRequest
0 голосов
/ 11 сентября 2018

Предположим, у меня есть таблица с именем 'orders', а внутри этой таблицы 100 столбцов.Я запрашиваю данные из этой таблицы во многих местах моей системы.Есть много связей между этой таблицей и другими таблицами.Теперь мне нужно добавить еще 5 столбцов, о которых я буду спрашивать не так часто.Мне интересно, что лучше в

  1. Создать дополнительную таблицу для этих 5 столбцов (с 6 столбцами из-за связи с таблицей 'порядка').

  2. Добавьте эти 5 столбцов в таблицу 'order'.

1 Ответ

0 голосов
/ 11 сентября 2018

Поскольку в вашей таблице orders имеется много полей, и для предотвращения проблем производительности, другой подход может состоять в том, чтобы разбить таблицу orders на несколько новых таблиц.Это предотвратит проблемы с производительностью и, вероятно, сделает все более организованным.Чтобы сохранить реляционные ограничения, выполните следующие действия:

  • Решите, какие связанные поля вы будете перемещать в новые таблицы, и создайте их.
  • Правильно установите foreign key в orders в новых таблицах.Здесь я предполагаю, что ваши ключи сформированы одним полем.
  • Установите primaty key новых таблиц в то же поле, что и foreign key.Это обеспечивает логическое 1:1 отношение: для каждой строки orders может существовать только одна вторичная строка, и никакие вторичные строки не могут существовать без родительской orders строки.

Чего вы не можете достичьПри таком подходе обязательные поля во вторичных таблицах принудительно существуют на уровне базы данных.Вы должны управлять этим самостоятельно или оставить все обязательные поля в «заказах».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...