mysql你需要知道的那些事儿

MySQL的体系机构

一、Connection Pool (连接池)

二、Management sevice utillties (管理服务和工具组件)

三、Sql Interface DML,DDL,Stored procedures Views triggers(sql 接口组件)

四、Pareser Query transiation Object privilege(查询分析器组件)

五、Optimizer Access Paths statistics(优化器组件)

六、Cathes & Buffers Global and Engine Specific Caches & Buffers(缓冲组件)

七、Pluggable Storage Engines Memory, Index & Storage Managentment(插件式存储引擎)

八、File system(插件式存储引擎,文件系统)

九、file & logs (物理文件)
 


MySQL存储引擎

这里只介绍几个存储引擎。

  • Innodb存储引擎支持事务,涉及目标主要面向在线事务处理。其特点是行锁设计、支持外键,并支持类似于Oracle的非锁定读,即默认读取操作不会产生锁。

InnoDb将数据放在一个逻辑的表空间中,这个表空间由存储引擎自身进行管理。从4.1版本之后它将每个表单独存放到一个独立的ibd文件中。另外InnoDb存储引擎支持用裸设备(rowdisk)用来建立其表空间。

InnoDb通过使用多版本并发控制MVCC来获得高并发性,并实现了SQL标准的4种隔离级别,默认为repeatable级别。 同时,使用一种称为next-key-locking的策略来避免幻读(phantom)现象的产生。除此之外,InnoDb存储引擎还提供了插入缓冲,二次写,自适应哈希索引,预读等高性能和高可用的功能。

对于表中数据的存储,InnoDb存储引擎采用了聚集(clustered)的方式,因此每张表的存储都是按照主键的顺序进行存放。如果没有显式地在表定义时指定主键,InnoDb引擎会为每一行生成一个6字节的ROWID,并以此作为主键。

  • MyISAM存储引擎

MyISAM存储引擎不支持事务、表锁设计,支持全文检索,主要面向一些OLAP数据库应用。MyISAM的缓冲池只缓存索引文件,不缓冲数据文件。(数据文件缓存交由系统本身来完成)

       NDB存储引擎

NDB是一个集群存储引擎,NDB的特点是数据全部存放在内存中。

NDB有一个问题,NDB 的连接操作都是在mysql数据库完成的,而不是在存储引擎层完成的。

  • Memory存储引擎

Memory存储引擎将表中的数据存放在内存中,如果数据库重启或宕机,表中数据都会消失。Memory存储引擎默认使用哈希索引,而不是B+树索引.



                                                             最后根据通过表格给大家比较下各个存储引擎的差别。

FeatureMyISAMMemeoryInnoDBArchiveNDB
存储限制noyes64TBnoyes
事务支持    
锁粒度tableTablerowrowrow
MVCC(多版本并发控制)  
B-Tree indexes 
Hash indexes  
full text search index    
Clustered index(聚集索引)    
Data Caches  
Index Caches 
Compressed data(压缩文件)   
Encrypted data(通过方法加密数据)
Storage costLowN/AHighVery LowLow
Memory costLowMediumHighLowHigh
Bulk insert speed(大批量写入速度)HighHighLowVery HighHigh
Cluster database support    
Replication support(复制支持)
Foreign key support(外键支持)    
Backup
Query Cache support
update statistics for data dirctionary
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值