您好,登錄后才能下訂單哦!
在MySQL5.1之前的版本中,默認是MySIAM引擎,每個MySIAM在磁盤上會將數據存儲成三個文件。
第一個是表結構文件,它的名字以表的名字開始,其擴展會指出文件類型,為.frm 文件存儲表定義;
第二個文件,其拓展名.MYD;
第三個文件是索引文件,其擴展名是.MYI(MYINDEX)
MyISAM存儲引擎的特定是表級鎖,不支持事務和全文索引,適合一些CMS內容管理系統作為后臺數據庫使用,但是在大并發,重負荷生產系統上,表級鎖的特性顯得力不從心,并且如果系統出現宕機,MySQLd進程崩潰,MyISAM引擎很容易受損害,這時候不得不使用MyISAMchk去修復她,基于這個原因,從MySQL5.5開始,默認的存儲引擎變成了InnoDB Plugin引擎
。
InonoDB給Mysql提供了具有提交,回滾和崩潰恢復能力的事務安全存儲引擎。其SELECT語句與Oracle風格一致--非鎖定讀。準確的說InnoDB是為處理巨大的數據量時擁有最大的性能而設定的。它的CPU效率是其他任何基于磁盤的關系數據庫引擎所不能匹敵的。
在諸多高并發,高壓力的大型數據庫站點上,Innodb用的非常廣泛。有些站點的InnoDB上處理平均每秒800此插入/更新的負荷。
在5.1版本中,innodb_file _io_threads 參數默認是4,該參數在Linux系統上是不能更改的,但是windows系統上可以調整。這個參數的作用是INnodb使用后臺線程處理數據頁上讀寫I/O請求的數量。在5.5版本以后,用兩個新的參數取代了innodb_file_io_threads,調整后,在Linux平臺上就可以根據CPU核心數來更改相應的參數了,默認是4.
加入CPU有兩顆8核心的,那么可以設置為:
innodb_read_io_threads =8
innodb-write_io_threads=8
如果數據庫的讀操作比寫多,那么可以設置:
innodb_read_io_threads =10
innodb-write_io_threads=6
至于具體的設置方法,需要根據你們公司的情況來設置。不過需要注意的事,這兩個參數不支持動態改變,需要把參數寫到My.cn里,修改完后記得重啟,允許值為1-64.調整完之后,你可以使用 show engine innodb status \G ;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。