我正在使用AWS RDS的MySQL-Server。我想检查应用程序所做的查询以优化它们。我的问题是,几乎每个查询都超过1024个字符(这是最大大小,如这里所述)。因此,我不能通过前1024个字符来识别查询,因为这只是SELECT部分--有趣的部分WHERE、ORDER、等被截断。由于应用使用ORM系统,我无法更改查询来缩短它们。我已经尝试将参数组中的选项performance_schema_max_digest_length增加到4096,但没有效果(直接在服务器上看不到选项的更改)。我该怎么办?
2条答案
按热度按时间cqoc49vn1#
这是一个静态参数,因此重新启动示例可能会解决此问题。请参阅AWS文档中的以下说明:
更改静态参数并保存DB参数组时,参数更改将在手动重新启动DB示例后生效。可以使用RDS控制台或显式调用RebootDbInstance API操作来重新启动DB示例(没有故障转移,如果DB示例处于多AZ部署中)。在静态参数改变之后重新引导关联的DB示例的要求有助于减轻影响API调用的参数错误配置的风险,例如调用ModifyDBInstance来更改DB示例类或缩放存储
Working with Parameter groups
yrwegjxp2#
现在,大约三年后,我在文档中发现了一个关于这个主题的页面,它回答了我的问题:Accessing more SQL text in the Performance Insights dashboard
所以对我来说,它现在的工作原理如下:
1.参数
max_digest_length
和performance_schema_max_digest_length
足够高(8192在我的例子中做到了)1.在性能洞察中,选项卡“Top SQL”仅显示常规查询的前500个字符。单击左侧的加号时,它会展开,并显示带有参数的查询。单击第一列中的圆点可在下面的区域中查看完整的查询。