内存(memory)表和临时(temporary)表之了解admin管理员组文章数量:1657214
**临时表(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/26855487/viewspace-763440/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub/26855487/viewspace-763440/
版权声明:本文标题:内存(memory)表和临时(temporary)表之了解 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729779737a1212553.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论