我正在对我的查询进行性能分析,并且需要能够查看比过去100次查询更多的内容。 Max profiling_history_size是100,但我看到调试工具以某种方式设法保存超过最后100个查询(例如,django调试工具)。
我做
SET profiling=1;
set profiling_history_size = 100;
SHOW PROFILES;
如果我可以将记录移动到另一个表格,那就没问题了。或者我可能需要完全在其他地方寻找?
我的程序运行了很多次相同的查询,所以我真正想要的是执行特定查询的所有时间的总和。一旦我收到所有问题,我就会做某种GROUP BY,但也许还有其他一些地方可以看? (我不是要问2个问题,但也许知道我最终需要什么会改变上述问题的答案。)
答案 0 :(得分:0)
使用MySQL 5.6,语句(查询)由性能模式检测。
您可以获得查询所需的时间,以及更多的属性,例如返回的行数等,并且您可以获得许多不同的聚合。
见
http://dev.mysql.com/doc/refman/5.6/en/statement-summary-tables.html
http://dev.mysql.com/doc/refman/5.6/en/performance-schema-statements-tables.html
特别有用的聚合是通过摘要聚合,将几个“类似查询”组合在一起,其中类似意味着相同的结构但可能是不同的文字值(“select * from t1 where id = 1”和“select *”来自t1,其中id = 2“将汇总为”select * from t1,其中id =?“)
答案 1 :(得分:0)