【轉載】MySQL Community Server 5.7.5發佈

改進1: 內存動態管理: 此版本對InnoDB的Buffer Pool(innodb_buffer_pool_size)允許在聯機狀態下修改其大小.這極大地提升了InnoDB緩存區管理的靈活性,另外可有效動態提升Server的整體效率

改進2: Optimizer – ONLY_FULL_GROUP_BY mode. 在分組操作時,使得MySQL能識別目標列/排序列/HAVING的條件列/DISTINCT對象列等非分組對象列. The user can also now specify the ANY_VALUE clause which then relaxes the rules for the HAVING, DISTINCT, and ORDER BY clauses.

改進3: Performance Schema持續被優化. 包括:執行器中當IO發生時,對錶的IO計數器以"批量"的方式調用大量地減少對PFS的調用以提高MySQL性能;允許用戶監控長時間運行的SQL語句狀態(如ALTER TABLE);封鎖的一些機制等等...

改進4: SQL分析器重構。舊的分析器,使用了自上向下的分析技術[The top-down parsing style is not natural for Bison/YACC parser generators, which lead us to have overcomplicated grammar]。 新的分析器,自下向上的分析技術。優劣與詳情,以及目前推進的狀態,可參考: http://t.cn/RhRxuqC

改進5: MySQL優化器持續重構。把語法分析、查詢優化、執行這3個階段分離,減少耦合。包括:優化和執行階段共用的數據結構JOIN_TAB對象的拆分,除了解耦的好處外,還能提高維護性並減少內存的使用。TABLE_LIST結構體和TABLE對象按階段分離,好處類似上一個。

改進6: 物理查詢優化技術,代價估算模型的改進。這也是一個很大的改進。更好的代價估算可以產生更準確的查詢執行計劃,因查詢執行計劃不準確而陷入查詢語句優化泥潭的同學們,歡呼吧。細節可參考: http://t.cn/RhRiuiV

改進6-進一步說明: 代價估算模型的改進最值得一提的是“condition filtering in the Optimizer (WL#6635)”,對filter進行計算並依據它估算代價,使得代價計算更爲精確,從而幫助優化器更好地選出花費最小的執行計劃。參見:http://t.cn/RhR6qjS

改進6-進一步說明2: 代價模型允許用戶動態修改一些代價模型參數以適應不同的硬件。例如,數據在不同的存儲中,加載速度不同則IO代價應該不同。內存比SSD快,SSD比磁介質快。而可以爲不同介質設置使用不同IO的時間花費數值,則能產生更好的代價計算值,從而產生更好的執行計劃。

改進7:其他方面的改進,也非常多,如複製、安全、Gis、全文檢索、數據類型、InnoDB的各種改進等等。詳情可參見:http://t.cn/RhRXqQD那海藍藍: 改進6-進一步說明2: 代價模型允許用戶動態修改一些代價模型參數以適應不同的硬件。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章