如何選擇mysql的存儲引擎mysql
在開發中,咱們常用的存儲引擎 myisam / innodb/ memorysql
myisam 存儲: 若是表對事務要求不高,同時是以查詢和添加爲主的,咱們考慮使用myisam存儲引擎. ,好比 bbs 中的 發帖表,回覆表.數據庫
INNODB 存儲: 對事務要求高,保存的數據都是重要數據,咱們建議使用INNODB,好比訂單表,帳號表.安全
Memory 存儲,好比咱們數據變化頻繁,不須要入庫,同時又頻繁的查詢和修改,咱們考慮使用memory, 速度極快. spa
問 MyISAM 和 INNODB的區別blog
1. 事務安全索引
2. 查詢和添加速度事務
3. 支持全文索引開發
4. 鎖機制innodb
5. 外鍵 MyISAM 不支持外鍵, INNODB支持外鍵. (在PHP開發中,一般不設置外鍵,一般是在程序中保證數據的一致)
具體的各類存儲引擎的區別以下:
若是你的數據庫的存儲引擎是myisam,請必定記住要定時進行碎片整理
舉例說明:
create table test100(id int unsigned ,name varchar(32))engine=myisam;
insert into test100 values(1,’aaaaa’);
insert into test100 values(2,’bbbb’);
insert into test100 values(3,’ccccc’);
咱們應該定義對myisam進行整理
optimize table test100;
mysql_query(「optimize tables $表名」);