mysql 内存表配置_Mysql内存表配置及性能测试

centos7 mysql数据库安装和配可以参考一下文章,基本照做就可以了(我选的方法二):http://www.cnblogs.com/starof/p/4680083.html说到内存表,首先有两个概念简单区分下:1.临时表;2.内存表;临时表与内存表的区分:临时表是指使用create temprarytable创建的临时表.临时表可以使用任何存储引擎,临时表只在单个连接中可见,当连接断开时,...
摘要由CSDN通过智能技术生成

centos7 mysql数据库安装和配可以参考一下文章,基本照做就可以了(我选的方法二):

http://www.cnblogs.com/starof/p/4680083.html

说到内存表,首先有两个概念简单区分下:

1.临时表;2.内存表;

临时表与内存表的区分:

临时表是指使用create temprary

table创建的临时表.临时表可以使用任何存储引擎,临时表只在单个连接中可见,当连接断开时,临时表也会消失.

MySQL最初会将临时表创建在内存中,当数据变的太大后,就会转储到磁盘上.

内存表是指用memory引擎创建的表.表结构存在于磁盘,数据放在内存中.

临时表创建的条件:

1,查询中有排序(ORDER BY)和分组(GROUP BY)的操作

2,在排序中使用过滤重复列(DISTINCT)

3,查询中用SQL_SMALL_RESULT选项

遇到下列情况会将内存中的临时表写入磁盘:

1,表中存在BLOB和TEXT字段

2,分组或过滤的列超过512字节

3,查询中合并结果集的列超过512字节

如果起初在内存中创建的临时表变的太大,MySQL会自动将其转成磁盘上的临时表.

内存中的临时表由 tmp_table_size 和 max_heap_table_size 两个参数决定.这与创建MEMORY引擎的表不同.MEMORY引擎的表由max_heap_table_size参数决定表的大小,并且它不会转成到在磁盘上的格式.

当MySQL创建临时表时(包括内存上和磁盘上),都会增加Created_tmp_tables

状态值,如果MySQL在磁盘上创建临时表(包括从内存上转成磁盘的),都会增加 Created_tmp_disk_tables状

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值