MySQL体系结构深入解析:存储引擎、缓冲池、优化器等组件详解
170 浏览量
更新于2024-08-30
收藏 564KB PDF 举报
基于mysql体系结构的深入解析
MySQL是基于插件式的数据库管理系统,具有独特的体系结构。其主要组件包括连接池组件、管理服务和工具组件、SQL接口组件、查询分析器组件、优化器组件、缓冲组件、插件式存储引擎、物理文件等。
MySQL的存储引擎是其核心组件之一,负责存储和管理数据。 MySQL提供了多种存储引擎,每种存储引擎都有其特点和优缺点。
1. InnoDB存储引擎:
InnoDB是MySQL的默认存储引擎,面向OLTP(Online Transaction Processing),支持行锁、外键、非锁定读、可重复读、next-key locking策略避免幻读、插入缓冲、二次写、自适应哈希索引、预读等特性。
2. MyISAM存储引擎:
MyISAM存储引擎不支持事务、表锁、全文索引,适合OLAP(Online Analytical Processing),其中myd文件存放数据文件,myi文件存放索引文件。
3. NDB存储引擎:
NDB存储引擎是集群存储引擎,share nothing,提高可用性。
4. Memory存储引擎:
Memory存储引擎将数据存放在内存中,表锁,并发性能差,默认使用哈希索引。
5. Archive存储引擎:
Archive存储引擎只支持insert和select操作,使用zlib算法压缩,适合存储归档数据如日志等。
6. Maria存储引擎:
Maria存储引擎的目的是取代MyISAM,缓存数据和索引,行锁、MVCC。
InnoDB的特性:
InnoDB的主体系结构包括7个后台线程,4个IO thread(insert buffer、log、read、write),1个master thread(优先级最高),1个锁监控线程,1个错误监控线程。可以通过show engine innodb status来查看。
InnoDB的存储引擎组成包括缓冲池(Buffer Pool)、重做日志缓冲池(Redo Log Buffer)以及额外的内存池(Additional Memory Pool)。可以通过show variables like 'innodb_buffer_pool_size'、show variables like 'innodb_log_buffer_size'、show variables like 'innodb_additional_mem_pool_size'来查看。
缓冲池(Buffer Pool)占用最大块内存,用来存放各种数据的缓存,包括索引页、数据页、undo页、插入缓冲、自适应哈希索引等。
MySQL的体系结构是插件式的,提供了多种存储引擎,每种存储引擎都有其特点和优缺点。了解MySQL的体系结构和存储引擎特性可以帮助开发者更好地使用MySQL数据库。
3103 浏览量
2022-11-29 上传
1091 浏览量
114 浏览量
2024-03-12 上传
2024-10-31 上传
2024-03-26 上传
2024-10-30 上传
221 浏览量
weixin_38525735
- 粉丝: 3
最新资源
- Linux快速部署Web环境详细教程(版本1.4.1)
- Leaf浏览器:Python PyQt5打造的网络新体验
- Alpha版本发布: dgraph-io图形数据库的Go实现
- 深入探究React Native桥:监控与调试技术
- 灰色背景5W管理法则商务PPT模板
- 一键获取多风格QQ头像:QQ头像资源获取软件v1.3
- 掌握贝塞尔曲线在动画与图片处理中的应用
- KerasMetrics库发布:Python深度学习性能监控
- 基于jQuery的通用表单验证功能解析
- 宏观经济学III建模模拟代码共享平台介绍
- D3D技术中的.X模型与特效文件解析
- SINAMICS S120同步内装式电机1FE2安装手册
- STM32F413实现MMA8452Q加速度传感器角度测量
- Windows下TCP端口延迟测试工具tcping使用指南
- 本地离线OCR技术实现:PaddleOCR的高效应用
- 西门子自动化技术文档201303版下载