[英]Which Files In My Application that Make Slow Mysql Query Log Entries
我已經為這個問題苦苦掙扎了2天,但沒有找到解決方案。
我用10秒的時間記錄mysql慢查詢。 在日志文件中,帶有以下語句的條目很多:
# 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);
這與apache請求激增有關。 query_time最多需要一分鍾或更長時間才能完成,並且導致我的服務器超載。 問題是我無法在php腳本中找到導致查詢緩慢的文件。
是否有任何命令行可找到關聯的文件。 還是任何快速的方法?
CREATE TABLE statistics` (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
... ,
PRIMARY KEY (id),
KEY idx_uid (uid),
KEY idx_ip (ip),
KEY idx_cnid_uid (cid,uid),
KEY idx_rlid (rid),
KEY idx_created_uid (created,uid)
) ENGINE=InnoDB AUTO_INCREMENT=34015 DEFAULT CHARSET=utf8
如果沒有理由檢查id >= 1
,那就擺脫它-它會抑制某些優化。
然后添加INDEX(ad_type)
不過,我認為沒有充分的理由使34K行(?)表上的COUNT(*)
花費51秒。 必須涉及其他事項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.