我想看看SQL的執行計劃:MySQL不能顯示解釋數據
explain select name,address from address where id=?
但它說:
您的SQL語法錯誤;檢查手冊, 對應於您的MySQL服務器版本的正確語法使用 附近'?'
- 不使用時解釋計劃,而不是綁定變量的MySQL只支持指定SQL值?
- 如果不是,我怎麼看到綁定變量的執行計劃?因爲我認爲執行計劃的選擇*從地址在哪裏id =?是不同的選擇*從地址id = 2。
- 另外,當我在mysql中使用說明時,它不會顯示這個sql會像Oracle那樣是全表訪問或索引訪問等,所以我怎麼能看到這些信息?
感謝您的回答,我誤解了Oracle和MySql的執行計劃,因爲Oracle的執行計劃可能有?在SQL中。同時,我看到你對解釋輸出格式的參考,似乎沒有'成本','時間','CPU成本'等信息,像甲骨文這樣我們可以用數字來知道或比較執行計劃? – frank
還有其他信息,包括成本估算值,可以使用[優化器跟蹤](https://dev.mysql.com/doc/internals/en/optimizer-tracing.html)找到,但這些細節應該是不必要的,除非您正試圖理解優化器如何選擇它所做的計劃。我無法解決Oracle問題。 –