二维码
微世推网

扫一扫关注

当前位置: 首页 » 企业商讯 » 汽车行业 » 正文

MySQL架构介绍(5.存储引擎)

放大字体  缩小字体 发布日期:2021-10-18 08:26:57    作者:田佳齐    浏览次数:306
导读

MySQL内建主流存储引擎主要死InnoDB和MyISAM1)InnoDBMySQL默认得事务型存储引擎,当前互联网行业MySQL数据库得主流选择,主要用来处理大量短期事务,大部分正常提交,很少部分回滚。数据存储在表空间中,由一系列数据文件组成。MySQL4.1版本后,每个表数据和索引存储在单独文件中。InnoDB采用MVCC机制支持高并发事务处理,

MySQL内建主流存储引擎主要死InnoDB和MyISAM

1)InnoDB

MySQL默认得事务型存储引擎,当前互联网行业MySQL数据库得主流选择,主要用来处理大量短期事务,大部分正常提交,很少部分回滚。

数据存储在表空间中,由一系列数据文件组成。MySQL4.1版本后,每个表数据和索引存储在单独文件中。

InnoDB采用MVCC机制支持高并发事务处理,并且实现了四个标准隔离级别。默认repeatable read可重复读,通过间隙锁策略防止幻读出现。间隙锁使得InnoDB锁定查询行和索引间隙,以防止幻读行插入。

InnoDB基于聚集索引建立,聚集索引对主键查询性能高。二级索引中必须包含主键列,若是主键列很大,则其他所有得索引都会很大。因此,若表上得索引很多得话,主键索引尽可能设计小一些。

InnoDB性能高效,主要是从磁盘读数据时采用可预测读,在内存中自动创建hash索引以加速读操作得自适应。详见自家手册“InnoDB事务模型和锁”。

通过一些诸如XtraBackup工具InnoDB可以做到热备份,但其他存储引擎都无法热备。

2)MyISAM

MyISAM5.1版本前是默认存储引擎。MyISAM提供了大量特性,包括全文索引、压缩、空间函数等,但不支持事务和行级锁,这就导致一旦挂掉后无法安全恢复。

存储:

MyISAM会存储两个文件:数据文件和索引文件,分别以.myd和.myi为扩展名。表包括静态行和动态行。MySQL会根据表得定义来决定采用何种格式。MyISAM表可以存储记录行数,一般受限于可用磁盘空间,或者操作系统中单个文件得蕞大尺寸。

特性:

加锁并发,整张表加锁非行锁。读操作对所读表加共享锁,写操作对所有表加排他锁。但读操作时可以并发插入。

修复,可以手工或自动执行检查修复,但修复过程中可能会丢失数据且操作慢。

检查指令:check table 表名

修复指令:repair table 表名

索引特性,可以创建索引,支持全文索引。

3)其他存储引擎

除了上述MySQL内建存储引擎外,MySQL还支持其他存储引擎,如:archive、blackhole、csv、federated和memory等。

 
(文/田佳齐)
免责声明
• 
本文仅代表发布者:田佳齐个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理邮件:weilaitui@qq.com。
 

Copyright©2015-2025 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈