- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MariaDB数据库存储引擎详解概要
MariaDB数据库存储引擎详解
在看MariaDB的存储引擎之前,可以先了解MySQL存储引擎。
MySQL常用的存储引擎:
MyISAM存储引擎:是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。?
MyISAM表还支持3中不同的存储格式:?
1 静态表??2 动态表??3 压缩表?
静态表是默认的存储格式,静态表中的字段都是非变长的字段,优点是:存储非常迅速,容易缓存,出现故障容易恢复;缺点是:占用的空间通常比动态表多。(注意: ?在存储时,列的宽度不足时,用空格补足,当时在访问的时候并不会得到这些空格)??动态表的字段是变长的,优点是:占用的空间相对较少,但是频繁地更新删除记录会产生碎片,需要定期改善性能,并且出现故障的时候恢复相对比较困难。??压缩表占用磁盘空间小,每个记录是被单独压缩的,所以只有非常小的访问开支。?
MyISAM表存储为三个文件:.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)
InnoDB存储引擎:提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。?
MEMORY(heap)存储引擎:memory实际是heap的替代品。使用存在内存中的内容来创建表。每个MEMORY表只实际对应一个磁盘文件(只包含表定义)。
优点:MEMORY类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH索引
缺点:一旦服务关闭,表中的数据就会丢失掉。其只支持表锁,并发性能较差,并且不支持TEXT和BLOB列类型.存储变长字段(varchar)时是按照定常字段(char)的方式进行的,因此会浪费内存
MERGE(mrg_myisam)存储引擎:是一组MyISAM表的组合,这些MyISAM表必须结构完全相同。MERGE表本身没有数据,类似于一个视图.对MERGE类型的表进行查询、更新、删除的操作,就是对内部的MyISAM表进行的。似乎看到分区表的影子,但完全是两种不同的东西.
官网说明:/kb/en/merge/
archive存储引擎:这种类型只支持select 和 ?insert语句,而且不支持索引。非常适合存储大量的独立的作为历史记录的数据。Archive拥有高效的插入速度,但其对查询的支持相对较差常,应用于日志记录和聚合分析方面。
Federated: 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
CSV: ?逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。
BlackHole :黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继
?MYSQL 中的部分存储引擎的特性:
Attribute MyISAM Heap BDB InnoDB Transactions(支持事务) No No Yes Yes Lock granularity(锁粒度) Table Table Page (8 KB) Row Storage(存储) Split files In-memory Single file per table Tablespace(s) Isolation levels(隔离级别) None None Read committed All Portable format(可移植性) Yes N/A No Yes Referential integrity(参照完整性,似乎是对外键的支持) No No No Yes Primary key with data No No Yes Yes MySQL?caches data records No Yes Yes Yes Availability(支持的版本) All versions All versions MySQL-Max All Versions
MariaDB?与 MySQL 相比较
MariaDB 提供以下特性:
XtraDB 替换 InnoDB(在MariaDB中 使用InnoDB等同于XtraDB),XtraDB 是 Percona 开发维护的 InnoDB 威力加强版,整合 ?Google、Facebook 等公司和 MySQL 社区的补丁。XtraDB 存储引擎是完全的向下兼容,在 MariaDB 中,XtraDB 存储引擎被标识为ENGINE=InnoDB,这个与 InnoDB 是一样的,所以你可以直接用XtraDB 替换
文档评论(0)