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, and

stack 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源码示例分析内容对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!