簡體   English   中英

如何查看mysql存儲過程執行計划?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM