константы и MySQL, лучшие практики - PullRequest
4 голосов
/ 21 июня 2010

В настоящее время у меня есть список определенных констант и функция, которая регулярно проверяет каждую извлеченную строку MySQL и ищет такие вещи, как CLIENT_NAME, LOCAL_API_ADDRESS и автоматически изменяет ее.

// several fields
define ('CLIENT_NAME', '...');
define ('LOCAL_API_ADDRESS', '...');
...

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

Как вы, ребята, справляетесь с этим?

Ответы [ 3 ]

4 голосов
/ 21 июня 2010

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

Вам лучше убедиться, что ваши REGEX оптимизированы.

4 голосов
/ 21 июня 2010

MySQL имеет Пользовательские переменные начиная с v3.23.6 , но они ...

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

Фактически в MySQL нет соглашения о хранении констант.

Вы можете хранить значения в таблице, но для таких вещей, как REGEXP MySQL, может потребоваться динамический SQL (с использованием подготовленных операторов MySQL), чтобы воспользоваться преимуществами настройки.

2 голосов
/ 25 июня 2010

Будьте осторожны с такими данными.Если вы извлекаете данные из базы данных, которая переопределяет определенные константы, у вас могут возникнуть проблемы с безопасностью!

...