位置: 编程技术 - 正文
推荐整理分享mysql tmp_table_size和max_heap_table_size大小配置,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
针对G内存的配置
先说下tmp_table_size吧:
它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认:
mysql> show variables like "tmpdir";+---------------+-------+| Variable_name | Value |+---------------+-------+| tmpdir | /tmp/ | +---------------+-------+
优化查询语句的时候,要避免使用临时表,如果实在避免不了的话,要保证这些临时表是存在内存中的。如果需要的话并且你有很多group by语句,并且你有很多内存,增大tmp_table_size(和max_heap_table_size)的值。这个变量不适用与用户创建的内存表(memory table).
你可以比较内部基于磁盘的临时表的总数和创建在内存中的临时表的总数(Created_tmp_disk_tables和Created_tmp_tables),一般的比例关系是:
Created_tmp_disk_tables/Created_tmp_tables<5%
max_heap_table_size
这个变量定义了用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值。这个变量支持动态改变,即set @max_heap_table_size=#
,但是对于已经存在的内存表就没有什么用了,除非这个表被重新创建(create table)或者修改(alter table)或者truncate table。服务重启也会设置已经存在的内存表为全局max_heap_table_size的值。
这个变量和tmp_table_size一起限制了内部内存表的大小。
如果想知道更详细的信息,请参考“MySQL是怎样使用内部临时表的?”和“内存存储引擎”
MySQL修改时区的方法小结 本文实例总结了MySQL修改时区的方法。分享给大家供大家参考,具体如下:说明:这里总结记录修改mysql时区的三种方法。方法一:通过mysql命令行模式
MySQL 数据库 ALTER命令讲解 MySQL为关系型数据库(RelationalDatabaseManagementSystem),这种所谓的"关系型"可以理解为"表格"的概念,一个关系型数据库由一个或数个表格组成。当我们需要修改
MySQL ALTER命令使用详解 ALTERTABLE允许你修改一个现有表的结构。例如,你可以增加或删除列、创造或消去索引、改变现有列的类型、或重新命名列或表本身。你也能改变表的注
标签: mysql tmp_table_size和max_heap_table_size大小配置
本文链接地址:https://www.jiuchutong.com/biancheng/347244.html 转载请保留说明!上一篇:mysql中关于Myisam_recover自动修复的使用方法(mysql中关于图书馆实训题)
下一篇:MySQL修改时区的方法小结(mysql8设置时区)
友情链接: 武汉网站建设