如何選擇mysql的儲存引擎

wanghaitao4j發表於2018-10-11

在開發中,我們經常使用的儲存引擎 myisam / innodb/ memory

myisam 儲存: 如果表對事務要求不高,同時是以查詢和新增為主的,我們考慮使用myisam儲存引擎. ,比如 bbs 中的 發帖表,回覆表.

 

INNODB 儲存: 對事務要求高,儲存的資料都是重要資料,我們建議使用INNODB,比如訂單表,賬號表.

 

問 MyISAM 和 INNODB的區別

1. 事務安全

2. 查詢和新增速度

3. 支援全文索引

4. 鎖機制

5. 外來鍵 MyISAM 不支援外來鍵, INNODB支援外來鍵. (在PHP開發中,通常不設定外來鍵,通常是在程式中保證資料的一致)

 

Memory 儲存(沒使用過,好像用Redis和MongoDB的比較多),比如我們資料變化頻繁,不需要入庫,同時又頻繁的查詢和修改,我們考慮使用memory, 速度極快.

 

 

 

(在mysql5.5之後,InnoDB支援全文索引)

如果你的資料庫的儲存引擎是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 $表名”);

相關文章