如果我們想要查看MySQL中哪些語(yǔ)句占用了大部分CPU資源,我們可以使用以下查詢語(yǔ)句:
SELECT LEFT(query, 100) AS "query", ROUND(total / COUNT(*) / 1000000, 2) AS "avg_cost", COUNT(*) AS "total_queries", SUM(total) / 1000000000 AS "total_cpu_time" FROM performance_schema.events_statements_summary_by_digest WHERE total >0 AND query NOT LIKE '%performance_schema%' GROUP BY digest ORDER BY total_cpu_time DESC;
在這個(gè)查詢語(yǔ)句中,我們使用了performance_schema
中的events_statements_summary_by_digest
表來(lái)獲取MySQL服務(wù)器上執(zhí)行的語(yǔ)句摘要信息,其中包括SQL查詢文本、平均執(zhí)行時(shí)間、總執(zhí)行次數(shù)和總CPU時(shí)間等。
通過(guò)上述查詢語(yǔ)句,我們可以獲得以下信息:
- query:查詢語(yǔ)句的前100個(gè)字符,以便我們能夠更好地理解查詢的含義。
- avg_cost:每次查詢的平均執(zhí)行時(shí)間,以秒為單位。
- total_queries:查詢語(yǔ)句的總執(zhí)行次數(shù)。
- total_cpu_time:在所有查詢中消耗的總CPU時(shí)間,以秒為單位。
請(qǐng)注意,這個(gè)查詢語(yǔ)句只適用于MySQL版本5.6或更高版本。如果你的MySQL版本較低,你需要使用其他方法來(lái)獲取相似的信息。
上一篇mysql核心是什么
下一篇css+線條漸變色