【学习笔记】MySql 各种数据库引擎的简单对比

针对MySql数据库的各种数据库引擎,根据官方的文档进行了一个简单的整理。

修改默认的数据库引擎

SET default_storage_engine = NDBCLUSTER;

修改某个数据表的数据库引擎

ALTER TABLE t ENGINE = InnoDB;

数据库引擎:

[1] InnoDB 在MySQL 5.7,InnoDB是默认的MySQL存储引擎

主要优势包括:

1)DML操作遵循ACID模型,具有commit , rollback 和 crash-recovery,保护数据的安全性;

2)具有Oracle风格的行级别的锁,增加并发时的性能;

3)表个才用主键索引的B+Tree的聚集索引,减少查找I/O,若不存在主键,则寻找一个可以唯一识别的属性作为主键,或者隐性生成一个主键

4)支持外键约束,对外键的更新进行检查

注释

1、DML

DDL:数据库模式定义语言,关键字:create

DML:数据操纵语言,关键字:Insert、delete、update

DCL:数据库控制语言 ,关键字:grant、remove

DQL:数据库查询语言,关键字:select

2、ACID

ACID,指数据库事务正确执行的四个基本要素的缩写。包含:

原子性(Atomicity)

一致性(Consistency)

隔离性(Isolation)

持久性(Durability)

[2] MyISAM

1)表的存储分为三个文件:.frm表格式;.MYD/MYData 数据文件;.MYI 索引文件;

2)行数限制 (232)2 (1.844E+19) ;

3)可能会导致文件损坏;

[3] MEMORY(HEAP

1)服务器停止或者重新启动,数据丢失;

2)一个高可用性、更新频繁的表;

[4]CSV

1)逗号分割值格式的文本型数据库;

2)不支持索引;

3)所有的列不能为空;

[5]ARCHIVE 

1)支持 INSERT, REPLACE, 和SELECT, 但不支持DELETE , UPDATE;

2)支持自增的列,但是不支持插入一个自增列一个比当前最大值小的值;

[6]BLACKHOLE 

1)支持所有类型的索引,可以自定义索引类型;

2)只有表结构,不存储任何数据;但是有日志记录

[7]MERGE

1)可以合并多个MyISAM 表

2)访问安全问题:当用户被撤销了MyISAM 表的访问权限时,仍然可以通过MERGE 表访问MyISAM 表

[8]FEDERATED

1)链接远程数据表

2)where在远程数据库执行

[9]EXAMPLE

1)一个数据库引擎开发的范例,用作写新的数据库引擎的基础

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭