如何选择mysql的存储引擎

Posted typical-me

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何选择mysql的存储引擎相关的知识,希望对你有一定的参考价值。

如何选择mysql的存储引擎

在开发中,我们经常使用的存储引擎 myisam / innodb/ memory

myisam 存储: 如果表对事务要求不高,同时是以查询和添加为主的,我们考虑使用myisam存储引擎. ,比如 bbs 中的 发帖表,回复表.

INNODB 存储: 对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表.

Memory 存储,比如我们数据变化频繁,不需要入库,同时又频繁的查询和修改,我们考虑使用memory, 速度极快. 

问 MyISAM 和 INNODB的区别

1. 事务安全

2. 查询和添加速度

3. 支持全文索引

4. 锁机制

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 $表名”);

以上是关于如何选择mysql的存储引擎的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 性能优化3 如何选择存储引擎

mysql的存储引擎如何选择

详细介绍Mysql各种存储引擎的特性以及如何选择存储引擎

Mysql各种存储引擎的特性以及如何选择存储引擎

[转帖]mysql常用存储引擎(InnoDBMyISAMMEMORYMERGEARCHIVE)介绍与如何选择

Java技术-如何选择合适的MySQL存储引擎