1. 程式人生 > >【轉載】MySQL Community Server 5.7.5釋出

【轉載】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: 代價模型允許使用者動態修改一些代價模型引數以適應不同的硬體。