MySql存储引擎

什么是存储引擎?

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些不同的技术以及配套的相关功能在 MySQL中被称作存储引擎(也称作表类型)。 

MySql的存储引擎:
    • MyISAM
      节省数据库空间,当数据读远大于修改时,可以使用该存储引擎
    • InnoDB
      支持事务,如果数据修改较多时,可以使用该存储引擎
    • MEMORY
      存储在内存中,速度快,如果存储非永久性数据时,可以使用该存储引擎

 

InnoDB

InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据存储提供了一个强大的解决方案。

适用性:

1.更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。
2.事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。
3.自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。
4.外键约束。MySQL支持外键的存储引擎只有InnoDB。
5.支持自动增加列AUTO_INCREMENT属性。

MEMORY

使用MySQL Memory存储引擎会将数据存储再内存中,在提高性能的同事,当mysqld守护进程崩溃时,所有的Memory数据都会丢失。

一般在以下几种情况下使用Memory存储引擎:

1.目标数据较小,而且被非常频繁地访问。

2.如果数据是临时的,而且要求必须立即可用,

3.存储在Memory表中的数据如果突然丢失,不会对应用服务产生实质的负面影响。

MERGE

MERGE存储引擎是一组MyISAM表的组合,这些MyISAM表结构必须完全相同,常用于日志。日志需要分成多个表存储,但是可能需要聚合查询报表。

ARCHIVE

Archive拥有很好的压缩机制,它使用zlib压缩库,在记录被请求时会实时压缩,所以它经常被用来当做仓库使用。

 

查看引擎:

show engines;

存储引擎使用例子

create table users
(
   ….
)engine=memory;

posted @ 2019-04-16 17:15  大尾巴贝贝  阅读(138)  评论(0编辑  收藏  举报