tmp_table_size
命令行参数: –tmp_table_size=#
ini/cnf定义: tmp_table_size
mysql 变量: tmp_table_size
全局变量,可动态调整, 默认值以系统设定,最大值4G
tmp_table_size是mysql在执行group时,生成的内存表的大小限制,和max_heap_table_size一样,这是一个字节大小值。在系统中此值将和要查询的表的行长进行计算,用以决定mysql可以装载的表的行数。如果查询中的一个限制超过此值,在3.x以后的版本中,mysql会自动把这个临时表改换为磁盘文件:MyISAM 引擎。用户主动创建的内存表是不包含在此限制中的。
根据状态 :created_tmp_disk_tables 和 created_tmp_tables 来判定是否需要增加 tmp_table_size。
受如下参数影响: max_head_table_size
将影响如下参数:
调整触发条件: 当created_tmp_disk_tables超过created_tmp_tables时,应该采取行动提高tmp_table_size值.
特别说明:在下列情况下,内存临时表将不能发挥作用,mysql将直接使用 MyISAM
表中有TEXT或者BLOB字段的情况
group by 或者 distinct 指定的字段中,存在有长度大于512字节的字段的情况
在unio