Направляющие: переводы хранилища в базе данных

Эти подготовленные заявления, подготовленные заявления предлагают два основных преимущества:

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

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

blockquote >

http://php.net/manual/en/pdo.prepared-statements.php

17
задан xijo 29 August 2009 в 20:44
поделиться

3 ответа

Я наконец-то нашел то, что искал с помощью Свена Фукса:

http://github.com/dylanz/i18n_backend_database/tree/master

Этот довольно удивительный плагин от Dylan Stamat делает именно то, что указывает имя, и дополнительно обрабатывает кеширование!

Свен также упомянул, что текущая ветвь i18n / active_record также предоставляет бэкэнд ActiveRecord :

http://github.com/svenfuchs/i18n/blob/active_record/lib/i18n/backend/active_record.rb

Некоторое обсуждение этой темы происходит в группе пользователей goolge i18n:

http://groups.google.com/group/rails-i18n/browse_thread/thread/6b7ba3c401890a7e

Проблема решена, благодаря I18n Свену Фуксу! ;)

9
ответ дан 30 November 2019 в 12:27
поделиться

У нас был хороший опыт с fast_gettext

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

0
ответ дан 30 November 2019 в 12:27
поделиться
1
ответ дан 30 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: