您好,登錄后才能下訂單哦!
背景:
做為一個DBA,或者從事數據庫相關工作的小伙伴,常見的工作就是優化sql,查看執行計劃!但有時優化器給出的執行計劃是錯誤或者不是最優的, 這時我們就要去追蹤一下優化執行計劃生成的過程。mysql 5.6提供了Tracing the Optimizer 功能這可是優化sql的一大神器
一,開啟Tracing the Optimizer
set optimizer_trace_max_mem_size=300000;
set end_markers_in_json=true;
SET optimizer_trace="enabled=on";
二,生成sql 跟蹤信息
explain select * from test.t1;
SELECT * FROM information_schema.optimizer_trace; --備注:這個視圖就有我們想要信息,內容如下:
三,舉例:
比如說sql 會因為Limit 不同的值,執行計劃會不一樣:
四,結總:
這里面的內容非常多,我在這只是拋磚引玉,大家可以自己去深入了角
==========================================================================
官網地址:https://dev.mysql.com/doc/internals/en/tracing-example.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。