mysql memory heap_慎用mysql memory(heap)存储引擎结构

我们知道 mysql 的 memory存储引擎是将数据和索引完全存放在内存中,如果数据库重启或者死掉数据将无法恢复.所以只能用来暂时的存储.

由于是hash索引所以自然会快一点.

但是之前用它来存过用户session,同步各个机器的session.

发现了一个更严重的问题...

mysql 有一个 variable 是 max_heap_table_size 这个限制了内存表的大小... 在网络上查都说是限制了行大小,这个是错误的,应该是表的整个数据大小

线上的服务对这个值配了个64MB 所以当表已经达到了64MB的时候,就再也无法insert进去数据了...

so 还是用innodb 把buffer开的大一点吧...

查看变量

show variables like 'max_heap_table_size';

查看表信息,里面有表信息

show table status like 'table_name' \G;

里面包括了表的Data_length,Max_data_length,Index_length,Data_free:

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-09-01 00:43

浏览 590

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值