MySQL读书笔记(一)存储引擎

MySQL被设计为了一个单进程多线程架构的数据库。MySQL启动时会先去寻找配置文件,找不到就按默认方式启动。
Linux中是寻找my.cnf 文件,windows上可能是.cnf或者是.ini。
数据库是文件的集合,数据库实例是程序,是用来对数据库文件操作的。

MySQL体系结构
在这里插入图片描述
MySQL提供了一些类的引擎供用户使用,另外存储引擎是基于表的,而不是数据库。

1.InnoDB
InnoDB现在是MySQL默认的存储引擎。特点是行锁设计,支持外键。对于表中数据的存储,InnoDB采用了聚集的方式,因此表的存储都是按照主键的顺序存放。如果没有指定主键,InnoDB引擎会自动生成6字节的ROWID作为主键。
适用:OLTP,联机事务处理,表示事务性能非常高的系统,一般是高可用的在线系统。

2.MyISAM
不支持事务,表锁,支持全文索引。
适用:OLAP,联机分析处理,数据仓库,注重吞吐量。

3.NDB
集群性存储引擎。特点是数据放在内存中,因此主键查找的速度极快。

4.Memory
Memeory将表中的数据存放到内存中,如果数据库重启或者崩溃,表中的数据就会消失。默认使用哈希索引,而不是B+树。支支持表锁,并发性能差,并且不支持TEXT和BLOB列类型。
使用:存储临时数据的临时表,以及数据仓库中的纬度表。

5.Archive
Archive存储引擎只支持insert和select操作。会将数据压缩后进行存储,压缩比例可达1:10。Archive非常适合存储归档数据,如日志信息。

6.Maria
支持缓存数据和索引文件,应用了行锁设计。支持事务和非事务安全的选项,以及更好的BLOB字符类型的处理性能。

MySQL数据库速度快是因为不支持事务?
错,虽然MyISAM不支持,但是InnoDB支持。
当表的数据量大于1000万时MysQL性能会急剧下降吗?
会下降,但是不是线性的,如果选择了正确的存储引擎,和正确的配置,再多的数据MySQL也能承受。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值