码迷,mamicode.com
首页 > 数据库 > 详细

Memory Allocation in the MySQL Server

时间:2016-12-23 22:02:02      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:long   ide   rect   ash   location   page   log   blocks   direct   

https://dev.mysql.com/doc/internals/en/memory-allocation-mysql-server.html

MySQL Internals Manual  /  Memory Allocation  /  Memory Allocation in the MySQL Server (sql Directory)

9.1 Memory Allocation in the MySQL Server (sql Directory)

The basic logic to use:

All things that are used only for the duration of a query are allocated in THD::mem_root through sql_alloc() or thd->alloc() except:

  • Things that may grow, like string buffers of type String. See sql/sql_string.cc.

  • Large blocks of memory used in one state of the query that can be released early. These are things like sort buffers, range trees, etc.

  • Things in libraries that are outside of MySQL‘s control (like hash tables).

Things that are needed a longer time should be alllocated with my_malloc() or through another MEMROOT.

Memory Allocation in the MySQL Server

标签:long   ide   rect   ash   location   page   log   blocks   direct   

原文地址:http://www.cnblogs.com/yuanjiangw/p/6216013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!