- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mysql内存与数据结构
* * * * * * * * * * * * * * * * Mysql内存与数据结构 赵孝国 2012/08/05 QQ:106708376 Blog:blog.csdn.net/wyzxg Mysql内存与数据结构 1.Mysql如何完成一个session 2.mysql内存结构 3.mysql数据结构 4.mysql架构设想 Mysql全貌 Mysql如何完成一个session 1.Mysql如何完成一个session 一个会话流程: mysql服务器监听3306端口 验证用户 创建线程解析sql 查询优化 打开表 检查buffer是否有对应的缓存记录 到磁盘寻找数据 写入到缓存 返回数据给客户端 关闭表 关闭线程 关闭连接 Mysql如何生成执行计划的? innodb的统计信息其实是一个不太准确的评估值,评估样本的数量默认上取8个页块的样本数据。这个数量可以通过选项innodb_stats_sample_pages来配置。 收集主要统计信息: (1) rec_per_key //每一个key,包含多少记录。在存储引擎 (2) records_in_table //当前表上,有多少记录。在存储引擎 (3) rec_in_range //当前表上,在指定范围上有多少记录 mysql控制优化器行为的两个变量 optimizer_prune_level:让优化器根据每个表访问的行数来跳过某些方案,这样可以大大的减少编译次数 optimizer_search_depth:让优化器知道对于每一个可能的查询计划,应该查看多深,其值如设置过大,那么join时,获取最优执行计划的代价十分巨大 何时更新统计信息 1.analyze table 2.第一次open table Mysql如何生成执行计划的? 还有在访问如下统计信息表时,也会更新统计信息 information_schema.TABLES information_schema.STATISTICS information_schema.PARTITIONS information_schema.KEY_COLUMN_USAGE information_schema.TABLE_CONSTRAINTS information_schema.REFERENTIAL_CONSTRAINTS show table status like ‘%tablename%’ 也会触发更新统计信息的操作 可以通过参数innodb_stats_on_metadata关闭动态触发统计更新 Mysql内存与数据结构 1.Mysql如何完成一个session 2.mysql内存结构 3.mysql数据结构 4.mysql架构设想 Mysql内存结构 Mysql进程结构 Mysql不像oracle那样是通过多进程来完成其功能的。默认情况下,InnoDB存储引擎的后台线程有7个: 4个IO thread, 1个master thread, 1个锁(lock)监控线程, 1个错误监控线程; 在InnoDB Plugin版本开始增加了默认IO thread的数量,默认的read thread和write thread分别增大到了4个,并且不再使用innodb_file_ io_threads参数,而是分别使用innodb_read_io_threads和innodb_write_io_threads参数。 mysql show variables like innodb_%_io_threads; +++ | Variable_name | Value | +++ | innodb_read_io_threads | 4 | | innodb_write_io_threads | 4 | +++ 2 rows in set (0.41 sec) Mysql进程结构 mysql show variables like innodb_version; +++ | Variable_name | Value | +++ | innodb_version | 1.1.8 | +++ 1 row in set (0.00 sec) 后台线程主要作用有三个: 1. 刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据 2. 将修改的数据文件刷新到磁盘文件 3. 在数据库发生异常情况下,保证InnoDB能恢复到正常运行状态 master thread的线程优先级别最高。其内部由几个循环(loop)组成:主循环(loop)、后台循环(background loop)、刷新循环(flush loop)、暂停循环(suspend loop)。
您可能关注的文档
- DC-M型电磁隔膜式计量泵品牌技术及参数.docx
- DCS和FCS.docx
- DDG-2500A大电流发生器(箱式)使用说明书.pdf
- DBS电子集中供油泵说明书.pdf
- DD集团2018年新春年会.doc
- DDG-4000A大电流发生器(台式)用户手册.pdf
- DevOps的安全问题不容小觑_光环大数据培训.pdf
- DHKBO型号控制与保护开关电器介绍及功能优势.docx
- discovery——3G报告出图处.docx
- DJ-L型隔膜式计量泵品牌及概述.docx
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
最近下载
- 公共危机案例.pdf VIP
- 3.5跨学科实践:探索厨房中的物态变化问题 +章节梳理延伸 课件 人教版(2024)物理八年级上册.pptx VIP
- 初中物理作业设计优秀案例(3篇).pdf
- 2023年急性ST段抬高型心肌梗死诊断和治疗指南.docx
- 大气的受热过程说课稿2023-2024学年高中地理湘教版(2019)必修一.docx VIP
- 外研版2023必修第一册Unit 3 Family matters重点词汇短语练习含答案.pdf
- 国家开放大学《心理学》形考任务1-4参考答案.docx VIP
- 售后转正工作总结PPT.pptx
- ISO45001品质中心第三方审核记录.doc
- 3.5+跨学科实践:探究厨房中的物态变化问题++课件-2024-2025学年物理人教版八年级上册.pptx VIP
文档评论(0)