Встраивание комментариев в операторы MySQL - PullRequest
1 голос
/ 04 ноября 2010

Кто-нибудь знает, как встроить комментарии в операторы MySQL? Когда я ищу mysql и комментарии, я получаю только способы поместить комментарии в таблицы и т. Д.

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

Пример:
ВЫБЕРИТЕ id
ОТ клиента
ГДЕ ручка = 'JBH'

Теперь будет отображаться как:
- пользователь: jwilkie
ВЫБЕРИТЕ id
ОТ клиента
ГДЕ ручка = 'JBH'

(или аналогичный)

РЕДАКТИРОВАНИЕ ДЛЯ ЯРКОСТИ: Причина этого в том, что у нас есть Perl-модули, которые взаимодействуют с MySQL, и мы получаем идентификатор пользователя, читая $ ENV {USER} (в данном случае «jwilkie»). Это ситуация, когда у нас определен один пользователь MySQL, но несколько человек используют мод perl.

У кого-нибудь есть опыт с этим? Большое большое спасибо! Jane

Ответы [ 2 ]

5 голосов
/ 04 ноября 2010

Обычно комментарии удаляются перед записью оператора SQL в двоичный журнал. Тем не менее, неприятный обходной путь - сделать вид, что комментарий ypur содержит синтаксис для некоторой будущей версии MySQL - например. 9.99.99:

/*!99999 user:jwilkie */ insert into tbl values (yyy);

Эти комментарии затем будут переданы в двоичный журнал.

1 голос
/ 04 ноября 2010

Если у вас есть контроль над генерируемыми SQL-запросами, то вы сможете программно встраивать в них комментарии в конструкторе запросов.

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

Вот сообщение в блоге Percona, которое немного затрагивает эту тему, особенно в контексте mk-query-digest.Это может помочь:

http://www.mysqlperformanceblog.com/2010/07/05/mk-query-digest-query-comments-and-the-query-cache/

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