сколько полей мы храним в таблице - PullRequest
2 голосов
/ 13 мая 2010

Сколько полей возможно в одной таблице,

Должен ли я поддерживать 150 полей в одной таблице,

OR

Поддерживать связь с другими таблицами,

Спасибо Bharanikumar

Ответы [ 4 ]

4 голосов
/ 13 мая 2010

В подавляющем большинстве случаев наличие 150 столбцов в одной таблице является симптомом плохо денормализованной базы данных.

Возможно, вы захотите прочитать это и заново оценить ваш дизайн БД.

Чтобы выразить это в терминах, перейдите к слову «поддерживать отношения с другими таблицами»

3 голосов
/ 13 мая 2010
0 голосов
/ 13 мая 2010

150-битные поля могут быть в порядке, но вы также должны учитывать максимальную длину записи, которую ваша база данных позволит вам сохранить. С полями varchar большинство баз данных позволят вам создать таблицу, которая теоретически будет нарушать максимум, если все поля заполнены до их максимальной длины. Однако, это не позволит вам добавлять записи, которые слишком длинные. Это та ловушка, которая может прекрасно работать годами, пока кто-то не поместит слишком много символов в потенциальную вставку, а затем взорвется, и, как правило, требуется много времени, чтобы найти решение этой проблемы. Лучше избегать проектирования таблицы, в которой общая длина столбцов превышает длину максимальных байтов записи.

Менее широкие таблицы также могут быстрее выполнять запросы.

Добавление 150 столбцов обычно является признаком того, что вам действительно нужно взглянуть на дизайн и посмотреть, будет ли связанная таблица лучше. Например, если у вас есть phone1, phone2, phone3, вам нужен соответствующий телефонный стол.

Если вам действительно нужны все 150 столбцов, подумайте, какие из них, скорее всего, будут запрашиваться чаще всего. Положите те, родительская таблица. Затем добавьте менее часто запрашиваемые (или столбцы, связанные только с определенной функцией) в связанную таблицу. Нет причин не иметь отношения 1-1 между таблицами, просто используйте идентификатор из таблицы parante, например, PK в дочерней таблице, а также FK для родительской таблицы.

0 голосов
/ 13 мая 2010

Если у вас на предприятии нужно 150 столбцов, то это «хороший способ». Я никогда не видел такой потребности бизнеса, но это не значит, что никто не существует. Я видел очень широкие таблицы, используемые в случаях типа olap, поэтому, если вы это делаете, есть хороший шанс, что вы на правильном пути. Если вы используете эту таблицу для большей функциональности otap, то вы, вероятно, идете по неверному пути. Возможно, если бы вы предоставили немного больше информации о том, что вы пытаетесь выполнить, мы могли бы дать несколько советов (вместо «сделать это» или «сделать это по-другому»).

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