Я хотел сохранить значения списка в виде массива в столбце MYSQL. Какова лучшая практика? - PullRequest
0 голосов
/ 03 марта 2010

У меня есть форма регистрации с общими полями регистрации и двумя списками множественного выбора с заголовком «услуги». Я хотел сохранить данные формы в базу данных в таблицу. В настоящее время у меня есть только одна таблица «регистрации», а также у меня возникли мысли о том, следует ли мне создать другую таблицу отношений с именем «registration_services» и сохранить regid и serviceid

Я ожидаю не менее 10000 записей в этой таблице Лучше хранить значения списка множественного выбора в одном столбце одной и той же таблицы?

Или я должен создать другую таблицу и сохранить ее как родительские дочерние отношения?

Какая лучшая практика?

Пожалуйста, сообщите Спасибо SIA

Ответы [ 3 ]

2 голосов
/ 03 марта 2010

Если эти службы используются где-либо еще, лучше всего создать таблицу registration_services и использовать JOIN s для получения данных. Это должно быть достаточно эффективным. 10000 совсем не большое число.

Если он носит чисто информативный характер и у вас нет других ссылок на эти службы, вы можете хранить их в одном столбце как CSV, но это редкий случай, и я сомневаюсь, что они вам больше не нужны.

1 голос
/ 03 марта 2010

Гораздо лучше иметь данные в отдельной таблице. Я сомневаюсь, что это когда-нибудь приведет к замедлению, если ваш набор данных не станет по-настоящему, по-настоящему массивным, и в этот момент вы все равно, возможно, сможете использовать какую-то форму кэширования. Это значительно упростит ведение данных в долгосрочной перспективе, и вы сможете использовать индексы, а также использовать ограничения FK для обеспечения целостности ваших данных.

1 голос
/ 03 марта 2010

Не хранить список значений в одном столбце.

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

Большая проблема с размещением нескольких значений в одном столбце состоит в том, что становится почти невозможно (и, конечно, не выполняется) запрашивать записи, которые имеют конкретное одно из этих значений.

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