1. 程式人生 > >mysql中myisam引擎和innodb引擎的比較 以及 utf8_bin和utf8_general_ci的比較

mysql中myisam引擎和innodb引擎的比較 以及 utf8_bin和utf8_general_ci的比較

 

一:Mysql中MyISAM引擎和InnoDB引擎的比較
結論
如果不清楚自己應該用什麼引擎,那麼請選擇InnoDB,Mysql5.5+的版本預設引擎都是InnoDB,早期的Mysql版本預設的引擎是MyISAM(ISAM)
MyISAM 和 InnoDB的適用場景

MyISAM適合:

(1)做很多count 的計算;

(2)插入不頻繁,查詢非常頻繁;

(3)沒有事務。

InnoDB適合:

(1)可靠性要求比較高,或者要求事務;

(2)表更新和查詢都相當的頻繁,並且表鎖定的機會比較大的情況。

MyISAM 和 InnoDB的區別

1)MyISAM型別不支援事務處理等高階處理,而InnoDB型別支援
2)mysiam表不支援外來鍵
3)在執行資料庫寫入的操作(insert,update,delete)的時候,mysiam表會鎖表,而innodb表會鎖行
4)當你的資料庫有大量的寫入、更新操作而查詢比較少或者資料完整性要求比較高的時候就選擇innodb表。當你的資料庫主要以查詢為主,相比較而言更新和寫 入比較少,並且業務方面資料完整性要求不那麼嚴格,就選擇mysiam表。因為mysiam表的查詢操作效率和速度都比innodb要快
二:utf8_bin和utf8_general_ci的比較
如果不清楚自己應該用什麼引擎,那麼請選擇InnoDB,Mysql5.5+的版本預設引擎都是InnoDB,早期的Mysql版本預設的引擎是MyISAM(ISAM)
MyISAM 和 InnoDB的適用場景

MyISAM適合:

(1)做很多count 的計算;

(2)插入不頻繁,查詢非常頻繁;

(3)沒有事務。

InnoDB適合:

(1)可靠性要求比較高,或者要求事務;

(2)表更新和查詢都相當的頻繁,並且表鎖定的機會比較大的情況。

MyISAM 和 InnoDB的區別
1)MyISAM型別不支援事務處理等高階處理,而InnoDB型別支援
2)mysiam表不支援外來鍵
3)在執行資料庫寫入的操作(insert,update,delete)的時候,mysiam表會鎖表,而innodb表會鎖行
4)當你的資料庫有大量的寫入、更新操作而查詢比較少或者資料完整性要求比較高的時候就選擇innodb表。當你的資料庫主要以查詢為主,相比較而言更新和寫 入比較少,並且業務方面資料完整性要求不那麼嚴格,就選擇mysiam表。因為mysiam表的查詢操作效率和速度都比innodb要快