2014-01-18 2 views
1

Предположим, у меня есть таблица с 10 000 строк с уникальным идентификатором. В первый раз, когда пользователь посещает мой сайт, я собираю 100 идентификаторов в случайном порядке и сохраняю их в БД, чтобы каждый раз, когда он возвращался, я снова смогу выбрать эти точные идентификаторы.многократно выбирает ту же группу идентификаторов

Мой вопрос: какой способ хранить эти идентификаторы? Должен ли я просто создать другую таблицу и хранить каждый из этих идентификаторов один за строку? Или я должен присоединиться к ним с запятой, а затем сохранить их как одну большую строку? Что более эффективно для выбора этих данных каждый раз?

+3

Значения, разделенные запятой в базе данных, являются BAD! Используйте таблицу отношений. – Barmar

ответ

3

Возможно, будет более эффективно хранить эти реляционные отношения. Если вы храните их в списке, разделенном запятыми, вам необходимо проанализировать это на стороне клиента и выполнить несколько запросов. Сохраняя в базе данных, вам просто нужно будет выполнить один и тот же запрос повторно.

MySQL имеет query cache (который по умолчанию отключен), который будет кэшировать результат, если вы повторно выполняете точно такой же запрос, и базовые данные не изменяются в среднем времени.

Смежные вопросы