[英]How to Trace Mysql Slow-query-log-file Entries Using PHP Profiler
我刚开始使用PHP分析器在php脚本中查找文件,导致mysql查询速度慢。 有人建议我使用xdebug来跟踪慢速日志文件条目中的时间戳,而不是在同一时间戳执行的php profiler中的文件。
我已阅读xdebug文档但无法找到此问题的解释。
任何人都可以给我启蒙吗?
我正在使用php 7.0,Debian 9。
我的慢查询日志文件条目:
# Thread_id: 222244 Schema: user QC_hit: No
# Query_time: 51.019708 Lock_time: 0.000119 Rows_sent: 1 Rows_examined: 13295012
# Rows_affected: 0
SET timestamp=1559388099;
SELECT (COUNT(*)) AS `count`
FROM statistics Statistics WHERE (id >= 1 AND ad_type <> 3);
编辑:
它不是关于SELECT语句中的行计数,而是关于如何跟踪导致请求发生缓慢的应用程序文件。
计算大型表的最有效方法是,您应该将计数存储在其他位置的表中,并在需要时增加/减少该值,这样您只需查询单个单元格,51秒查询的时间不到1秒。
我知道感觉这是多余的事情,但它是最有效和最佳的方式
有些主题建议查询INFORMATION_SCHEMA,但鉴于您对WHERE
的需求,这根本无济于事,其他一切与您的问题一样低效。
您所需要的只是当前的计数,存储它的地方,增加/减少它的功能以及您的好处
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.