MySQL 分析器将查询长度削减超过 300 个字符

men*_*nov 4 mysql profiler

当我通过以下方式获取查询列表时,MySQL 探查器将查询长度削减超过 300 个字符

 SHOW PROFILES
Run Code Online (Sandbox Code Playgroud)

我看到这样的查询:

 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`, 
Run Code Online (Sandbox Code Playgroud)

(这是一个自动生成的查询,因此可能会很长)

所以它显示了所有查询,但大的查询被削减到 300 个字符,我看不到它们到底。

我如何仅使用 MySQL 工具来解决这个问题(而不是手动分析我的应用程序中的查询)?my.cnf 中可能有一些指令?

谢谢你!

Mar*_*lff 5

也许不是您想要的答案,但仍然是答案:

SHOW PROFILE在sql/sql_profile.cc中实现

代码片段如下:

#define MAX_QUERY_LENGTH 300U
Run Code Online (Sandbox Code Playgroud)

用于

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);
  ...
Run Code Online (Sandbox Code Playgroud)

因此,如果没有使用更大的值重新编译服务器,SHOW PROFILE 无论如何都会将查询截断为 300 个字符。