签到成功

知道了

CNDBA社区CNDBA社区

Mysql tmp_table_size参数

2021-11-27 16:25 1062 0 原创 mysql
作者: hbhe0316

官网说明:
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html
内存中内部临时表的最大大小。该变量不适用于用户创建的MEMORY表。
实际的限制是tmp_table_size和max_heap_table_size中较小的一个。当内存中的临时表超过限制时,MySQL自动将其转换为磁盘上的临时表。internal_tmp_disk_storage_engine选项定义了用于磁盘上临时表的存储引擎。
如果您执行许多高级GROUP BY查询,并且拥有大量内存,那么可以增加tmp_table_size(以及max_heap_table_size(如果必要的话)的值。
通过比较Created_tmp_disk_tables和Created_tmp_tables的值,可以比较创建的内部磁盘临时表的数量和创建的内部临时表的总数。

http://www.cndba.cn/hbhe0316/article/22620
http://www.cndba.cn/hbhe0316/article/22620http://www.cndba.cn/hbhe0316/article/22620

http://www.cndba.cn/hbhe0316/article/22620http://www.cndba.cn/hbhe0316/article/22620http://www.cndba.cn/hbhe0316/article/22620

1.查看默认值为16Mhttp://www.cndba.cn/hbhe0316/article/22620http://www.cndba.cn/hbhe0316/article/22620

mysql> show variables like 'tmp_table_size';
+----------------+----------+
| Variable_name  | Value    |
+----------------+----------+
| tmp_table_size | 16777216 |
+----------------+----------+
1 row in set (0.00 sec)

2.设置global级别http://www.cndba.cn/hbhe0316/article/22620

mysql> set global tmp_table_size=32*1024*1024;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'tmp_table_size';
+----------------+----------+
| Variable_name  | Value    |
+----------------+----------+
| tmp_table_size | 16777216 |
+----------------+----------+
1 row in set (0.00 sec)

mysql> quit
Bye
[root@mysql57 ~]# /mysql/bin/mysql -uroot -pwwwwww -S /mysql/mysql.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 4
Server version: 5.7.36-log MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

mysql> show variables like 'tmp_table_size';
+----------------+----------+
| Variable_name  | Value    |
+----------------+----------+
| tmp_table_size | 33554432 |
+----------------+----------+
1 row in set (0.00 sec)

3.设置/etc/my.cnf文件http://www.cndba.cn/hbhe0316/article/22620

[root@mysql57 ~]# cat /etc/my.cnf | grep -i tmp-table-size
tmp-table-size = 32M
[root@mysql57 ~]# service mysqld restart
Shutting down MySQL.... SUCCESS! 
Starting MySQL.. SUCCESS!

版权声明:本文为博主原创文章,未经博主允许不得转载。

MYSQL

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1182408次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ