千家信息网

mysql源码示例分析

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章主要介绍了mysql源码示例分析,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。mysql的内存管理庞大而先进,这在mem0pool
千家信息网最后更新 2024年11月22日mysql源码示例分析

这篇文章主要介绍了mysql源码示例分析,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

mysql的内存管理庞大而先进,这在mem0pool.c文件的开头注释中都有说明,粗略的可以分成四部分,包含9大块:

九大块:

buffer pool,parsed andoptimized SQL statements,data dictionarycache,log buffer,locks for eachtransaction,hash table forthe adaptive index,state andbuffers for each SQL query currently being executed,session foreach user, andstack for eachOS thread.

9大块通过4部分进行管理

A solution tothe memory management:1. the bufferpool size is set separately;2. log buffersize is set separately;3. the commonpool size for all the other entries, except 8, is set separately.

也就是缓冲池,redo日志缓冲,普通池和8(用户session信息,可看做一部分)

redo日志缓冲由redo部分单独管理,bufferpool也就是缓冲池是一个复杂的部分,内容很多,普通池上面说了,除了8,和1,2.其余的都归它管。
MySQL是用C++开发的。
MySQL的官方网站http://www.mysql.com/上有源码下载,是C++的

感谢你能够认真阅读完这篇文章,希望小编分享mysql源码示例分析内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

0