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原始碼是什麼語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!