PHP / MYSQL хранит переменные в массиве или отдельных полях - PullRequest
0 голосов
/ 31 марта 2012

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

Метод 1: я мог бы создать таблицу пользователей, по одной строке на пользователя, с категориями, как у игроков, команды как поля, и сохранить выбор каждого пользователя в виде массива в соответствующем поле. (идентификатор пользователя будет ссылаться на таблицу основных пользователей.)

Способ 2. Или я мог бы создать отдельные таблицы для каждой вещи, игроков, команд и т. Д. И иметь фиксированное количество полей, скажем, 10, разбить массив на каждое отдельное значение, сохранить и поместить его в собственное поле. (Уже этот код работает.) (Опять же, идентификатор пользователя является первичным ключом.)

Преимущество метода 1 в том, что он несколько проще, одна таблица, без ограничений по количеству вариантов.

Метод 2 кажется немного более надежным. Данные более заметны и, возможно, их легче получить и получить, хотя, возможно, и нет.

Кто-нибудь имеет опыт работы с подобными вещами и может порекомендовать один другому?

Спасибо за любые рекомендации, предложения!

...