mysql5.1版本對于存儲引擎采用插件式的架構,每個存儲引擎通過繼承一個handler的c++類,樣所有的存儲引擎都是真正的插件式的。對于之前的版本來說,如果發現一個innodb存儲引擎的bug,就需要等待mysql新版本的釋出來解決這個bug,innodb公司對此隻能通過更新檔形式來解決,需要重新編譯mysql。對于mysql5.1的版本,可以安裝新版本的innodb存儲引擎來替代有bug的舊引擎。
在mysql5.1.38之前的版本中,當需要安裝innodb plugin時,需要下載下傳plugin檔案,再進行安裝。從mysql5.1.38版本開始,mysql包含了兩個不同版本的innodb存儲引擎:一個是舊版本的引擎,稱之為build-in innodb(内置版本);另一個是新版本的innodb存儲引擎(innodb-plugin.1.0.4)innodb plugin版本。plugin版本在很多方面優于built-in版本。
innodb plugin版本的特性有:
1.背景io線程細化并配置設定多個。預設的read thread和write thread分表增大到了4個,并且不再使用innodb_file_io_threads參數,而是分别使用innodb_read_io_threads和innodb_write_io_threads參數。之前linux下io線程隻能是四個,現在可以最大可以調到64個。
2.内部io限制,現在innodb内部同時可以操作100個io限制。
3.快速ddl,增強mysql的io性能以及buffer中讀取速度。
4.自适應的重新整理髒頁。
5.引入全新的檔案格式barracuda。對性能提升很高,要求使用獨享表空間。
對于mysql5.1.38之後的版本,要使用新的innodb plugin存儲引擎,隻需在my.cnf中做如下配置:
或是在指令行下加載