mysql tmp_table_size和max_heap_table_size大小配置

针对16G内存的配置

代码如下:

tmp_table_size = 64M

先说下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是怎样使用内部临时表的?”和“内存存储引擎

(0)

相关推荐

  • mysql tmp_table_size优化之设置多大合适

    通过设置tmp_table_size选项来增加一张临时表的大小,例如做高级GROUP BY操作生成的临时表.如果调高该值,MySQL同时将增加heap表的大小,可达到提高联接查询速度的效果,建议尽量优化查询,要确保查询过程中生成的临时表在内存中,避免临时表过大导致生成基于硬盘的MyISAM表. mysql> show global status like 'created_tmp%'; +----------–+---+ | Variable_name | Value | +----------

  • mysql tmp_table_size和max_heap_table_size大小配置

    针对16G内存的配置 复制代码 代码如下: tmp_table_size = 64M 先说下tmp_table_size吧: 它规定了内部内存临时表的最大值,每个线程都要分配.(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值.)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认: mysql> show variables like "tmpdir"; +-----

  • mysql中binlog_format模式与配置详细分析

    mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR).对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED. ① STATEMENT模式(SBR) 每一条会修改数据的sql语句会记录到binlog中.优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binl

  • MySQL数据库优化技术之配置技巧总结

    本文实例讲述了MySQL数据库优化技术的配置方法.分享给大家供大家参考,具体如下: (一)减少数据库访问 对于可以静态化的页面,尽可能静态化 对一个动态页面中可以静态的局部,采用静态化 部分数据可以生成XML,或者文本文件形式保存 使用数据缓存技术,例如: MemCached (二)优化的检测方法 1.用户体验检测 2.Mysql状态检测 在Mysql命令行里面使用show status命令,得到当前mysql状态. 主要关注下列属性: key_read_requests (索引读的请求数)(k

  • windows下Apache+MySql+PHP3+PHP4+PERL安装配置

    OS : Microsoft Windows 2000 Professional简体中文版 WEB SERVER: Apache 1.3.12 for WIN32 MYSQL : MySQL Shareware 3.22.34 for WIN32 PHP3 : PHP 3.0.15 for WIN32 PHP4 : PHP 4.0.0 for WIN32 ZEND : Zend Optimizer beta4 for PHP 4.0.0 for WIN32 [★★★ Apache快速安装 ★★★

  • mysql 5.7.15 安装配置方法图文教程

    MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度快,成本低,不仅受到了市场的极大追捧,也受到了广大程序员的青睐.接下来,就给大家说一下,MySQL的下载和安装: 一.MySQL的下载 第一步:在浏览器的地址栏输入https://www.mysql.com/ 即进入MySQL官网,如下图所示: 第二步:单机Download,即进入如下页面:如下图所示: 第三步:在这里介绍下MySQL的几个版本: 1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支

  • mysql 5.7.17 安装配置方法图文教程(windows10)

    mysql 5.7.17 安装配置方法整理 第一步 到MySQL官网下载mysql-5.7.17-winx64.zip 第二步 解压缩 mysql-5.7.17-winx64.zip 第三步 新建一个my.ini文件,然后用记事本打开输入mysql的基本配置: [mysql] ; 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] ;设置3306端口 port = 3306 ; 设置mysql的安装目录 basedir=E:\mysql5.7

  • mysql 5.7.14 安装配置方法图文教程

    因笔者个人需要需要在本机安装Mysql,先将安装过程记录如下,希望对他人有所参考. 一.下载软件 1. 进入mysql官网,登陆自己的oracle账号,下载Mysql-5.7.14,下载地址:http://dev.mysql.com/downloads/mysql/ 2.将下载好的文件解压到指定目录,笔者解压在C:\software\Mysql\mysql-5.7.14-winx64 二. 安装过程 1.首先配置环境变量path,将C:\software\Mysql\mysql-5.7.14-w

  • mysql 5.7.10 安装配置方法图文教程

    MySQL5.7.10下载及安装及配置 一.下载 自MySQL版本升级到5.7以后,其安装及配置过程和原来版本发生了很大的变化,下面详细介绍5.7版本MySQL的下载.安装及配置过程. 图1.1 MySQL5.7 目前针对不同用户,MySQL提供了2个不同的版本: Ø MySQL Community Server:社区版,该版本完全免费,但是官方不提供技术支持. Ø MySQL Enterprise Server:企业版,它能够高性价比的为企业提供数据仓库应用,支持ACID事物处理,提供完整的提

  • VMWare linux mysql 5.7.13安装配置教程

    本文为大家分享了VMWare linux安装mysql 5.7.13的教程,供大家参考,具体内容如下 1.基础环境说明 虚拟机:VMWare 操作系统:linux 数据库版本:mysql 5.7.13 社区版(别问为什么不装企业版,因为企业版要钱) 背景:虚拟机可以连上外网 2.摸底 查看linux上是否已经安装了mysql ① 启动服务service mysqld start 没有安装,则提示 ② 查看服务是否存在linux上chkconfig --list mysqld 没有安装,则提示 3

  • mysql 5.7.30安装配置方法图文教程

    之前把服务器里面的MySQL卸了重装,安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录,发现好多坑 截个图,作为笔记,也正好留给需要的朋友们. MySQL 5.7.3.0 安装 全程截图 经典的MySQL数据库就不需要过多介绍了. 本篇主要介绍MySQL的安装过程,步步截图,跟着弄就行. 1. 下载软件 在这里,我使用的是新版的MySQL 5.7.3.0,其实这些版本大都一样,可忽视. 需要软件的可自行Google,官网可免费下载,不过貌似需要注册账号登录了才能

随机推荐