3、总结mysql常见的存储引擎以及特点。

常见的存储印象有MYISAM和INNODB:

图1

注:上述图片来自:https://docs.oracle.com/cd/E17952_01/mysql-5.5-en/storage-engines.html网站。

1    其中比较关键的是transactions,是一个重要的概念,有一个重要的特性原子性:一个事务是由多个小的步骤组合而成的,这些步骤要么统统全部完成,要么全不不做,必须作为一个整体出现。

2    锁(locking granuarity),myisam只支持表级锁(影响其并发),而innodb可以支持行级锁。

3    MVCC,MVCC是很重要的特点,叫多版本并发控制机制,是为了解决并发的。

4    myisam不支持外键(forgin key support),innodb支持外键。

5    myisam只支持压缩行格式才支持(有一定的条件),而innodb是支持所有的压缩的。

6    myIsam每一个表都会对应独立的三个文件:frm(表格式定义)、MYD(数据文件)、MYL(索引文件)

7    在innodb的数据库中不是三个文件,默认情况下是两个文件中(新版本中是两个,旧版本需要增加innodb_file_per_table=ON),ftm和ibd文件(数据库和索引放的文件)独立的文件

其他存储引擎

Performance_Schema:Performance_Schema数据库使用。

BLACKHOLE:黑洞存储引擎接受但不存储数据,检索总是返回一个空集。该功能可用于分布式数据库设计,数据自动复制,但不是本地存储。

//数据库的内容要同步到其他数据库中(数据库的数量大于1),这样有自动备份的功能,主服务器宕机,备用的就可以正常的起来使用。主服务器会负担其压力(访问和同步的压力),会造成系统瓶颈。可以让其负载到一台机器上,减轻其压力。中间的那台服务器不是存储到磁盘中,使用blackhole他的数据在内存中放着(断电就丢了),传输到其他地方。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容