如果同一個sql從不同的會話中運行很多次,mysql會多次解析相同的sql嗎?在oracle/sql服務器中,sql的計劃被緩存並且可以被重用。由於它被告知解析和創建sql計劃的代價很高,如果mysql沒有緩存它們,那麼解析它會花費很多時間會是一個問題嗎?mysql是否有關於sql計劃的緩存?
2
A
回答
1
對於執行計劃緩存︰我不相信MySQL目前提供此功能。
的MySQL確實有一個查詢緩存:SELECT語句的http://dev.mysql.com/doc/refman/5.1/en/query-cache.html
查詢緩存存儲的文本與被髮送到客戶端的相應結果一起。如果稍後收到相同的語句,服務器將從查詢緩存中檢索結果,而不是再次解析並執行該語句。查詢緩存在會話中共享,因此可以發送由一個客戶端生成的結果集,以響應另一個客戶端發出的相同查詢。
我不知道如何最新的這篇文章(2006年),但它談論具體這些問題: http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/
據我所知,沒有多少從那以後改變了這看待。
0
如果您擔心這一點,您可能需要使用prepared statements進行調查。
1
這是一個現有的MySQL Feature Request。
但是,最後的評論(2009年),如果不明確的話,它會提供顯着的性能改進,並且可能導致死鎖狀況。
相關問題
- 1. SQL執行計劃緩存
- 2. 用於填充計劃緩存的即席查詢的SQL Server執行計劃
- 3. SQL DMV查詢和緩存計劃
- 4. Azure共享計劃是否帶有SQL Server和MySql?
- 5. Sql Server是否緩存跨事務的編譯查詢和執行計劃?
- 6. SQL Server查詢計劃緩存和計劃重用的存儲過程
- 7. 是否有與SBCL的運行計劃等同的計劃?
- 8. MySQL關係朋友計劃?
- 9. 緩存計劃大小在計劃緩存和執行計劃中的不同值
- 10. Firebase的火焰計劃是否有火花計劃配額?
- 11. 更改存儲過程是否過期高速緩存的執行計劃?
- 12. DateTime.Now如何影響SQL Server中的查詢計劃緩存?
- 13. SSRS是否有緩存
- 14. 規劃SQL Server EXPRESS的緩存大小。
- 15. 緩存在SQL Server中的函數的執行計劃是什麼?
- 16. 任何方式知道是否有計劃關機?
- 17. 關於select_related()緩存
- 18. Android API中是否有「應急計劃」?
- 19. Meteor是否有計劃支持Gentoo?
- 20. 參數傳遞順序是否會影響查詢計劃的緩存?
- 21. SQL Server版升級和緩存執行計劃
- 22. SQL Server查詢計劃緩存和編程檢索
- 23. 在SQL Server 2005中解決緩存計劃
- 24. 查詢計劃緩存和性能
- 25. MVC3 EF5查詢計劃緩存
- 26. MVC6是否支持Sql Server依賴關係緩存
- 27. 是否有Azure的緩存(預覽)的最大對象計數
- 28. 是否SQL語句緩存結果
- 29. 易於比較的MySQL計劃在Django
- 30. 關於habtm關係的計數器緩存?
請注意,在寫入任何引用表時,緩存查詢將從緩存中刪除。 – Piskvor 2010-09-19 07:36:33