暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
HotDB--MySQL内存管理直播回顾
487
10页
8次
2020-08-07
免费下载
首先,感谢大家 7 30 号晚 800 准时与我们线上见。
国庆老师直播概要中提到:MySQL 数据库的内存管理比较复杂,但又是最核心的
部分。从直播的参与度与现场提问及结束后的留言可以看出,大家对这次分享的
主题十分感兴趣,其重要性可见一斑。 时间问题,很多参与直播的朋友表示意
犹未尽,在这里,小编就将直播的回放视频&PPT 如数安排上,另有额外干货加
持!
MySQL 内存管理
接下来分几个部分,将国庆老师本次直播的干货整理成文字跟大家一起分享
提示: 下面的内容大家结合 PPT/视频阅更加清晰明了
1. MySQL 使
MySQL 分为 Server 和引擎层。因为这两部分都有内存使用,而且是分开管理
的。所以我们也是按照这个进行分类;
2. 一条 sql 语句的内存使用,我们以 delete 为例,来介绍它从发送给 mysql 到执
行结束,mysql 内存的分配,使用和释放;
3. Mem_root 介绍,Server 层内存管理结构,后续会详细介绍;
4. sql 的内存使用,这个也是为啥会有本次分享的原因,我们热璞是分布式数
据库,我的备份工具也是对存储节点进行备份,当还原时,会将备份的数据应逻
辑备份的方式,为了备份效率,我们会将数据平成一个大 sql,还原的时候直接
执行这个大 sql已实现数据还原,比如 insert into table() values(),()...等等,然后
MySQL 内存就爆了,这一部分呢,将会详细介绍一条 sql 在不同的阶段使用了哪
些内存;
5. 一个很神奇的问题,free 的内存并没有还给操作系统哦,但是 mysql 已经显式
的做了 free 了,那 free 的内存到底去了哪里呢?
4&5
我们先看第一部分,MySQL 存的分类。我们知道 MySQL 内存的种类很多,
sort buffer join bufferquery_chache table_cache innodb_buffer_pool_size
等。
同时,如前面介绍的,MySQL 是分层的,分为 Server 层以及 engine 层, Server
层,MySQL 使用 mem_root 进行管理, engine 层,就用大家熟悉的 buffer pool
来进行管理了。
mem_root init_alloc_root alloc_root reset_root_defaults,
free_alloc 这些函数,用于申请,分配,和回收内存。对内存的使用和释放最终
会落到 OS 层的 malloc free 函数。
Engine 使 buffer_pool buf_pool_init,
buf_pool_free,buf_pool_alloc 等等,最终还是落 OS free malloc 上,buf_pool
不是本次分享的重点哈,因此不做过多解释。
7
后面我们看下一条 sql 的使用,
使 mysql mysql server handle_connect_per_thread.cc
接收到 connect 连接的信息会根据 connect_info 的信息,创建一个 thd 用于一直
处理该连接发过来的所有请求,其生命周期是一直到该 connection 关闭,OK
此时你连上了 mysql。当你执行一条语句时,thd 中的 mem_root 开始申请内存,
用于存储语句,和解析 sql 产生的临时变量。这个时候能看到的就 MySQL
存使用量在持续增加。
执行语句,这个顾名思义,server 层拿到 sql 语句,经过语法分析,语义分析等
等,最后交给 engine 层执行。这个也是需要大量内存的
执行之后,调用 free_root 释放该 thd mem_root 保管的内存,同时保留该
thd 哈,用于接收该连接后面的语句
---------如果此时关闭连接---------
Mysql server 层关闭 connection
调用 thd->release_resources 释放 thd 所有资源
删除 thd
8
一条 delete 语句的执行流程如上,调用的函数分散在 server 层和 engine 层。
此内存的使用也分散在这两层。我们本次分享呢主要在 server 层的内存使用
因此我们更多的是关注 server 层使用
10
of 10
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜