У меня есть две таблицы, одна таблица пользователей и таблица элементов. В таблице пользователя есть поле «items». Таблица «items» состоит только из уникального id и item_name.Хранение csv в поле MySQL - плохая идея?
Теперь каждый пользователь может иметь несколько элементов. Я хотел бы избежать создания третьей таблицы, которая будет связывать элементы с пользователем, а скорее имеет поле в user_table, в котором хранятся идентификаторы элементов, подключенные к пользователю в поле «csv».
Таким образом, у любого данного пользователя есть поле «предметы», которое может иметь значение «32,3,98,56».
Возможно, стоит упомянуть, что максимальное количество элементов на пользователя ограничено (< 5).
Вопрос: Является ли этот подход вообще плохой идеей по сравнению с наличием третьей таблицы, содержащей пары user-> item?
Не третья таблица создала бы довольно накладные расходы, когда вы захотите найти все элементы пользователя (мне пришлось бы перебирать все элементы, возвращаемые MySQL отдельно).
Да, это очень плохо. И юзабилити, и производительность сильно падают. Гораздо лучше добавить дополнительную таблицу для этой информации. – Linkan
Но производительность будет намного лучше, так как мне не нужны несколько выборок, а? Мне нужно будет производить итерацию каждого результата индивидуально, чтобы получить все элементы, а не просто извлекать одну строку пользовательских данных. –
Очень плохая идея. ** НИКОГДА не делайте этого – GurV