mysql - сколько столбцов слишком много?



я настраиваю таблицу, которая может иметь более 70 столбцов. Теперь я думаю о том, чтобы разделить его, поскольку некоторые данные в Столбцах не будут нужны каждый раз, когда таблица будет доступна. Опять же, если я это сделаю, мне придется использовать соединения.



в какой момент, если таковые имеются, считается слишком много столбцов?

611   3  

3 ответов:

Это считается слишком много, как только это выше максимальный предел, поддерживаемый базой данных.

тот факт, что вам не нужно, чтобы каждый столбец возвращался каждым запросом, совершенно нормален; именно поэтому оператор SELECT позволяет явно называть нужные столбцы.

Как правило, ваша структура таблицы должна отражать вашу модель домена; если у вас действительно есть 70 (100, что у вас есть) атрибутов, которые принадлежат одной и той же сущности, нет причин разделите их на несколько таблиц.

есть некоторые преимущества для разделения таблицы на несколько с меньшим количеством столбцов, который также называется Вертикальное Секционирование. Вот некоторые из них:

  1. Если у вас есть таблицы с большим количеством строк, изменение индексов может занять очень долгое время, как MySQL должен перестроить все индексы в таблице. Разделение индексов по нескольким таблицам может сделать это быстрее.

  2. в зависимости от ваших запросов и типов столбцов, MySQL может быть запись временных таблиц (используемых в более сложных запросах select) на диск. Это плохо, так как дисковый ввод/вывод может быть большим бутылочным горлышком. Это происходит, если в запросе есть двоичные данные (текст или большой двоичный объект).

  3. более широкая таблица может привести к снижению производительности запросов.

не оптимизируйте преждевременно, но в некоторых случаях, вы можете получить улучшение от более узких столов.

Это слишком много, когда он нарушает правила нормализации. Это довольно трудно получить, что много столбцов, если вы нормализуете свою базу данных. Проектирование базы данных для моделирования проблемы, а не вокруг каких-то искусственных правил или идей об оптимизации для конкретной платформы БД.

примените следующие правила к широкой таблице, и вы, вероятно, будете иметь гораздо меньше столбцов в одной таблице.

  1. нет повторяющихся элементов или групп элементов
  2. нет частичные зависимости от сцепленного ключа
  3. нет зависимостей от неключевых атрибутов

здесь ссылке чтобы помочь вам в этом.

Comments

    Ничего не найдено.