Профилировщик MySQL режет запросы длиной более 300 символов - PullRequest
2 голосов
/ 12 марта 2012

MySQL профилировщик обрезает запросы длиной более 300 символов, когда я получаю список запросов на

 SHOW PROFILES

И я вижу такие запросы:

 SELECT media_videos.`id` AS `media_videos.id`, media_videos.`user_id` AS `media_videos.user_id`, media_videos.`description` AS `media_videos.description`, media_videos.`likes` AS `media_videos.likes`, media_videos.`video` AS `media_videos.video`, media_videos.`resource` AS `media_videos.resource`, 

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

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

Как я могу это исправить, используяТолько инструменты MySQL (не для профилирования запросов в моем приложении вручную)?Может быть, некоторые директивы в my.cnf ??

Спасибо!

1 Ответ

3 голосов
/ 18 сентября 2012

Возможно, не тот ответ, который вы хотели, но, тем не менее, ответ:

SHOW PROFILE реализован в sql / sql_profile.cc

Фрагменты кода ниже:

#define MAX_QUERY_LENGTH 300U

используется в

void QUERY_PROFILE::set_query_source(char *query_source_arg,
                                     uint query_length_arg)
{
  /* Truncate to avoid DoS attacks. */
  uint length= min(MAX_QUERY_LENGTH, query_length_arg);
  ...

Таким образом, если не считать перекомпиляцию сервера с большим значением, SHOW PROFILE урезает запрос до 300 символов, несмотря ни на что.

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