PHP / MYSQL: каким должен быть лучший способ записи любых неопределенных дополнительных данных от пользователя и их оптимизации для поиска? - PullRequest
0 голосов
/ 26 августа 2009

У меня есть таблица с некоторыми фиксированными столбцами ID, заголовок, создан .., но мне нужно поместить некоторые дополнительные данные от пользователя, которые я не могу определить указанный столбец, но мне нужны эти данные для поиска от других пользователей. Какой лучший способ?

  1. Сохранить сериализованный массив
  2. Оставьте некоторые необязательные столбцы ( пример: оставляет любой 10 столбец opt1, opt2, opt3 ...)
  3. Создайте новую таблицу (dataid, uid, key, value) и новые строки для каждого из данных.

данные будут выглядеть как пара ключ: значение

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

Добрый день

Ответы [ 2 ]

2 голосов
/ 26 августа 2009

Определенно 3). Хранение сериализованного массива означает зависимость от языка (php, json и т. Д.), А выбор через sql невозможен. 2) плохо по нескольким причинам; в основном вы менее гибки в расширении и выборе. Создайте мета-таблицу, например 3), это уже установленный подход.

Обновление: 3) должно быть немного улучшено: создайте таблицу следующим образом:

UID | ключ | значение

не

UID | key_value

0 голосов
/ 26 августа 2009

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

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