mysql关系数据库引擎_关系型数据库——MySQL存储引擎简介

关系型数据库是采用关系模型来组织数据的数据库。

所谓关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表格及其之间的联系所组成的一个数据组 。

目前,用得最普遍的关系型数据库有 MySQL 、 Oracle 、 PostgreSQL 等 。

这里针对 Java 开发中最常用的 MySQL 进行阐述。

gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

存储引擎

MySQL 主要有两种存储引擎,分别是 MyISAM 和 InnoDB 。

1) MyISAM

MySQL5.5 之前的默认引擎,特点如下 。

不支持行锁,读取时对需要读到的所有表加锁,写入时则对表加排他锁 。

不支持事务 。

不支持外键 。

不支持崩溃后的安全恢复 。

在表有读取查询的同时,支持往表中插入新记录 。

支持 BLOB 和 TEXT 的前 500 个字符索引,支持全文索引 。

支持延迟更新索引,极大地提升了写入性能 。

对于不会进行修改的表,支持压缩表,极大地减少了磁盘空间占用 。

2) InnoDB

MySQL 5.5 后的默认引擎,特点如下 。

支持行锁,采用 MVCC 来支持高并发,有可能死锁 。

支持事务 。

支持外键 。

支持崩溃后的安全恢复 。

不支持全文索引 。

由于 MyISAM 缓存有表 meta-data (行数等) ,因此在做 COUNT(*)时对于一个结构很好的查询是不需要消耗多少资源的 。

而对于 InnoDB 来说,则没有这种缓存 。

当你需要行锁定、事务时,使用 InnoDB 则是更好的选择, 也具有更高级的安全性 。

此外, MyISAM 和InnoDB 使用的索引也是有区别的,前者为非聚簇索引 ,后者为聚簇索引 。

总体来说, MyISAM 适合读密集型的表 ,而 InnoDB 适合写密集型的表。

在数据库做主从分离的情况下,经常选择 MyISAM 引擎作为主库的存储引擎。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值