-- 计算MySQL的内存峰值公式,计算所有的连接满了的情况下:
select
(@@key_buffer_size + @@query_cache_size + @@tmp_table_size
+ @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size
+ @@innodb_log_buffer_size
+ @@max_connections * (
@@read_buffer_size + @@read_rnd_buffer_size
+ @@sort_buffer_size+ @@join_buffer_size
+ @@binlog_cache_size + @@thread_stack
)
)/1024/1024/1024;
执行命令:
select (@@key_buffer_size+@@query_cache_size+@@tmp_table_size+@@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size+@@innodb_log_buffer_size+ @@max_connections * (@@read_buffer_size+@@read_rnd_buffer_size+@@sort_buffer_size+@@join_buffer_size+@@binlog_cache_size+@@thread_stack))/1024/1024/1024 as max_used_memory;
执行结果:
+------------------+
| max_used_memory |
+------------------+
| 998.379882812500 |
+------------------+
1 row in set (0.00 sec)
-- 内存单个连接值计算 1
select @@read_buffer_size , @@read_rnd_buffer_size
, @@sort_buffer_size, @@join_buffer_size
, @@binlog_cache_size, @@thread_stack;
-- 内存单个连接值计算 2
select @@key_buffer_size , @@query_cache_size , @@tmp_table_size
, @@innodb_buffer_pool_size , @@innodb_additional_mem_pool_size
, @@innodb_log_buffer_size;
本文介绍了一个用于计算MySQL在所有连接满载情况下的内存峰值的SQL查询。通过详细列出并计算MySQL的各种内存参数,如key_buffer_size、query_cache_size等,可以得出在极端条件下的最大内存使用量。
3245

被折叠的 条评论
为什么被折叠?



