Желательно ли хранить такие вещи, как список городов на БД? - PullRequest
3 голосов
/ 01 мая 2010

Привет, я использую CakePHP и мне интересно, желательно ли хранить в базе данных вещи, которые не сильно меняются, например список городов?

Ответы [ 4 ]

5 голосов
/ 01 мая 2010

Если вашему приложению уже нужна база данных, зачем вам хранить данные где-либо еще?

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

1 голос
/ 06 мая 2010

Я вижу, что на этот вопрос был принят ответ - я все еще хочу присоединиться к моим $ 0,02

Как я обычно делаю для массивов статических данных (список стран, список часовых поясов, неизменяемые наборы, которые вы бы использовалиenum for ...) должен использовать этот источник данных массива.

Он позволяет отображать отношения между моделями баз данных и моделями на основе массива и использовать обычный синтаксис поиска / Containable для отношений.

http://github.com/jrbasso/array_datasource

1 голос
/ 02 мая 2010

Вы получаете все виды запросов и поисков из коробки, так же, как вы получаете доступ к любым другим вашим данным. Базы данных сегодня так же дешевы, как простые файлы, но вы получаете полный сервис.

0 голосов
/ 02 мая 2010

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

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

Билл Ящер прав в том, что он важен независимо от того, ссылается ли список на другие таблицы. Если это так, то вам понадобится это в БД, если вам нужны запросы, которые будут включать его.

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