[英]How do I view the mysql stored procedure execution plan?
使用JDBC Java會執行存儲過程,但是速度很慢,所以想檢查數據庫存儲過程的執行計划,您怎么看?有數百行SQL存儲過程,數據庫是Mysql,我知道要檢查select語句執行計划是使用解釋,但是存儲過程如何?
如果您至少具有mysql v5.6.3,則可以使用mysql 優化程序跟蹤器 。
基本用法:
SET optimizer_trace="enabled=on";
SELECT ...; # your query here
SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;
# possibly more queries...
# When done with tracing, disable it:
SET optimizer_trace="enabled=off";
它可以跟蹤以下查詢 :
選擇; INSERT或REPLACE(使用VALUES或SELECT); UPDATE / DELETE及其多表變體; 所有前面所有以EXPLAIN開頭的前綴; SET(除非它操縱optimizer_trace系統變量); 做; DECLARE / CASE / IF / RETURN(存儲的例程語言元素); 呼叫。 如果這些語句之一是在單獨的步驟中准備和執行的,則分別跟蹤准備和執行。
嘗試在存儲過程中的select etc.語句上單獨使用解釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.