内存(memory)表和临时(temporary)表之了解

内存(memory)表和临时(temporary)表之了解

**临时表(temporary):
1.参数:tmp_table_size 64M(最大容量,表增长到此值,会自动转换为磁盘表)
2.表定义,数据,索引存于内存中
3.到阀值,自动转换为磁盘表,需要进行IO操作,导致DB性能下降
4.存放text,blob类型的数据
5.只存在一次连接中,Mysql断开连接后被删除
6.所有客户端不能共享,否则会提示不存在信息
7.任何存储引擎中
8. Created_tmp_tables 状态值增加表示,在磁盘上有创建临时表或临时表转成磁盘表
语法:
create temporary table tbl() engine=xx default charset=utf8;
创建条件:
1.查询中有排序(order by)和分组(group by)
2.排序中使用过滤重复列(distinct)
3.查询中用sql_small_result选项

**内存表(memory)
1.参数:max_heap_table_size 64M(独立内存表容许最大容量,以防止创建超大内存表导致内存用尽)
2.表定义存于磁盘中,数据和索引在内存中(重启后数据会丢失)
3.到阀值,会报错:数据存放已满
4.不能存放text,blob类型的数据
5.内存表支持auto_increment列,可包含NULL值列索引
6.mysql重启后,主键,自增,索引仍然存在,只是数据丢失
7.不支持事务
8.支持hash和B树索引
9.内存表是表锁,频繁修改,性能会下降
10.仅memory引擎
语法:
create table tbl(xx...xx)engine=memory default charset=utf8;


早期会大量使用内存表作为存储中小型数据,以来来提搞DML速度,减低IO操作,
但现在随着memcache/Nosql应用,内存表逐渐被取代之;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26855487/viewspace-763440/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26855487/viewspace-763440/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值