tmp_table_size - xiaoboluo768/qianjinliangfang GitHub Wiki
- 内存临时表超过这个大小后,就会把内存临时表转换为磁盘临时表,线程级别的参数,不要设置过大,一般全局设置不大于100M就可以了,否则很容易发生内存溢出,但是,如果说在临时大数据查询的时候,可以打开一个会话临时设置大一点,避免产生临时磁盘表。或者,可以使用索引查询尽量减少返回的数据量。
- 内部用于控制内存临时表大小使用,是适用于用户创建的内存表和临时表
- 实际限制从tmp_table_size和max_heap_table_size两个变量的的值中取较小值。 如果内存中临时表超过这个限制,MySQL会自动将其转换为磁盘上的MyISAM表。 如果您执行许多高级GROUP BY查询并且用到大量内存,请增加tmp_table_size的值(如果必要,也请增加max_heap_table_size的值)
- 状态变量Created_tmp_disk_tables持续增加时,需要增加tmp_table_size 的值
- Created_tmp_disk_tables/(Created_tmp_disk_tables+Created_tmp_tables)*100% > 10%的话,就需要注意适当提高 tmp_table_size 的大小,但是不能设置太大,因为它是每个session都会分配的,可能会导致OOM(out of memory
- 全局变量,会话变量,动态变量,默认值为16M,整型值。取值范围为:1024~18446744073709551615字节
上一篇:sort_buffer_size | 下一篇:max_heap_table_size