"Mysql进程结构与控制磁盘IO的参数及内存数据结构总览"
需积分: 10 165 浏览量
更新于2024-01-13
收藏 668KB PPT 举报
MySQL进程结构主要由控制磁盘IO的参数、MySQL内存原理与数据结构组成。其中,控制磁盘IO的参数包括innodb_io_capacity、innodb_max_dirty_pages_pct和innodb_adaptive_flushing。
innodb_io_capacity参数用来表示磁盘IO的吞吐量,默认值为200。该参数影响刷新到磁盘的数量(脏缓冲),根据innodb_io_capacity的百分比来刷新相对数量的页。在合并插入缓冲时,合并插入缓冲的数量为innodb_io_capacity数值的5%。在从缓冲区刷新脏页时,刷新脏页的数量为innodb_io_capacity。
另一个控制磁盘IO的参数是innodb_max_dirty_pages_pct,默认值为75%。这个参数会加快脏页刷新频率,减少恢复时间,同时也能保证磁盘IO负载的平衡。
innodb_adaptive_flushing是在InnoDB插件中引入的参数。它影响每1秒刷新脏页的数量。在原来的刷新规则中,当脏页在缓冲池所占的比例小于innodb_max_dirty_pages_pct时,不会刷新脏页;而当比例大于innodb_max_dirty_pages_pct时,会刷新100个脏页。但是,innodb_adaptive_flushing参数的引入使得InnoDB存储引擎能够根据重新生成重做日志的速度来判断最合适的刷新脏页的数量。因此,即使脏页的比例小于innodb_max_dirty_pages_pct时,也会刷新一定量的脏页。
MySQL内存与数据结构的部分讨论了MySQL如何完成一个session以及相关的内存结构和数据结构。MySQL完成一个session主要是通过以下步骤实现的:MySQL服务器监听3306端口、验证用户、创建线程、解析SQL查询、优化查询、打开表、检查缓冲区是否有对应的缓存记录、到磁盘寻找数据、将数据写入缓存、将数据返回给客户端、关闭表、关闭线程、关闭连接。
MySQL的内存结构包括了各种缓存区和内存池,如查询缓存、表缓存、缓冲池等。这些缓存区和内存池用来提高查询和数据访问的性能。
MySQL的数据结构包括了各种数据类型、数据存储方式、索引结构等。MySQL支持各种常见的数据类型,如整数、浮点数、字符串等,同时还支持更复杂的数据类型,如日期时间、二进制数据等。MySQL的数据存储方式使用了多种技术,如B树索引、哈希索引等。这些数据结构和存储方式能够有效地组织和管理数据,提高数据查询和访问的效率。
总结起来,MySQL的进程结构涵盖了控制磁盘IO的参数和MySQL内存原理与数据结构。控制磁盘IO的参数包括innodb_io_capacity、innodb_max_dirty_pages_pct和innodb_adaptive_flushing,用于调整磁盘IO的吞吐量和脏页刷新频率。MySQL的内存原理与数据结构包括了各种缓存区、内存池和数据结构,用于提高查询和数据访问的性能。通过深入了解MySQL进程结构,可以更好地理解和优化MySQL的性能。
2021-02-06 上传
2021-01-19 上传
2024-04-29 上传
2023-07-19 上传
点击了解资源详情
受尽冷风
- 粉丝: 29
- 资源: 2万+
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查