mysql tmp_table_size和max_heap_table_size大小配置_Mysql

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

时间: 2024-08-26 22:08:43

mysql tmp_table_size和max_heap_table_size大小配置_Mysql的相关文章

mysql 主从服务器的简单配置_Mysql

首先在主服务器上添加可登陆的用户权限: GRANT REPLICATE SLAVE on *.* to 'username'@'host' identified by 'password' 然后设置主服务器的my.ini文件. server-id=1 #主服务器标识 log-bin #启用二进制日志 binlog-do-bin=databasename #要备份的数据库名称,多个可以重复该配置过程 binlog-ignore-db=databasename #不备份的数据库名称,多个可以重复该配

CentOS 7.2下MySQL的安装与相关配置_Mysql

一.相关配置如下      操作系统: CentOS 7.2      MySQL版本: 5.7.x 二.下载安装 2.1 下载rpm包 选择相应的版本:系统版本和包版本. 系统版本可以通过 uname -a 来查看: wget http://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm 2.2 下载安装软件源 sudo yum localinstall platform-and-version-specific-packa

mysql 5.7.13 安装配置方法图文教程(win10)_Mysql

MySQL是一款关系型数据库管理系统,是由Oracle旗下公司MySQL AB 公司开发,是在web方面最好的.最流行的关系型数据库软件应用之一,深受广大个人使用者以及中小型企业的喜爱. 方法/步骤 双击安装文件,进入安装,如图所示,点击"next",进入下一步 在协议许可(LicenseAgreement)界面,勾选"Iacceptthelicenseterm",然后点击"next" 在选择安装类型(ChoosingaSetupType)界面,

mysql 5.7.14 安装配置代码分享_Mysql

本文记录了mysql 5.7.14 安装配置代码,具体内容如下 OS: CentOS 6.6   DB: Mysql 5.7.14   1. 下载mysql   cd /tools   wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz  2.创建MySQL二进制解压文件的目录  mkdir -p /opt/mysql [root@zw-test-db mysql]

MySQL基础之MySQL 5.7 新增配置_Mysql

MySQL是一个多线程的,结构化查询语言(SQL)数据库服务器.SQL在世界上是最流行的数据库语言.MySQL的执行性能非常高,运行速度非常快,并非常容易使用.本文给大家介绍mysql 5.7 新增配置,一起看看吧. 1.log_timestamps 在5.7.2以后的版本中增加一个单独控制error log , general log,slow log的记录的时间,默认是UTC,需要配置成SYSTEM(本地时间)否则用的是UTC的时间. log_timestamps=SYSTEM; 以上内容是

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

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

mysql 5.6.24 安装配置方法图文教程_Mysql

由于工作需要,开始使用mysql数据库,已经好久没有使用了.基本已经忘了差不多.今天重新安装配置了一下,写个随笔记录一下,以免自己以后需要的时候翻看,如有不正确或需要补充的,希望大家多多留言. 首先下载mysql,我直接通过百度软件中下载的"mysql-5.6.24-win32.1432006610"版本 下载完成之后.我先解压到C盘.然后,修改文件夹的名字为"mysql",目录结构如下 在根目录下,有一个文件名为"my-default.ini"

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

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

MySql 5.6.14 winx64配置方法(免安装版)_Mysql

1. 下载MySQL Community Server 5.6.14 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. 3. 添加环境变量 变量名:MYSQL_HOME 变量值:D:\Program Files\mysql-5.6.14-winx64 即为mysql的自定义解压目录. 再在Path中添加 %MYSQL_HOME%\bin 4. 注册windows系统服务 将mysql注册为windows系统服务 操作如下: 1)新建一个my.ini文件并把my.ini文