IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL各种临时表参数作用与区别 -> 正文阅读

[大数据]MySQL各种临时表参数作用与区别

MySQL 临时表参数innodb_temp_tablespaces_dir、innodb_tmpdir、tmpdir 区分

innodb_tmpdir: alter table生成中间表文件,innodb_tmpdir有指定效路径,优选选择innodb_tmpdir,没有则选择tmpdir,在alter table时rebulid表是生成大量临时排序文件,避免系统文件tmpfs占满

tmpdir:用户存放临时文件,默认取/tmp, /var/tmp, or /usr/tmp。
.ORDER BY 或 GROUP BY会生成临时文件,临时SQL表名#sql;
.select 查询生成临时SQL表用报存中间表数据;
.非ALGORITHM=INPLACE的ddl操作,创建的临时copy;ddl操作期间用于记录并发的dml日志文件,创建索引的排序文件,重建表时生成的临时中间表

临时表空间分为会话临时表空间和全局临时临时表空。

innodb_temp_tablespaces_dir:
会话临时表空间:用于存放用户创建的临时表和优化器optimizer创建内部临时表。在第一次请求创建临时表,会从临时表空间池中分配两个会话临时表空间,一个用户创建的临时表,一个优化器创建的其他内部临时表。但会话断开时,临时表空间被truncate并释放给池。一个池有10个临时表空间,并且不会shrink除非重启数据库或abrot时被remove.会话表空间文件是大小是5个页,后缀名.ibt

会话临时表空间space id 范围是40万,重启后可以重复使用

会话临时表空间参数 innodb_temp_tablespaces_dir:定义会话临时表空创建时的位置,默认位置是datafir/#innodb_temp

$> ls
temp_10.ibt temp_2.ibt temp_4.ibt temp_6.ibt temp_8.ibt
temp_1.ibt temp_3.ibt temp_5.ibt temp_7.ibt temp_9.ibt

会话临时表空间元数据信息表INNODB_SESSION_TEMP_TABLESPACES

+----+------------+----------------------------+-------+----------+-----------+
| ID | SPACE      | PATH                       | SIZE  | STATE    | PURPOSE   |
+----+------------+----------------------------+-------+----------+-----------+
| 33 | 4294501266 | ./#innodb_temp/temp_10.ibt | 98304 | ACTIVE   | INTRINSIC |
|  0 | 4294501257 | ./#innodb_temp/temp_1.ibt  | 81920 | INACTIVE | NONE      |
|  0 | 4294501258 | ./#innodb_temp/temp_2.ibt  | 81920 | INACTIVE | NONE      |
|  0 | 4294501259 | ./#innodb_temp/temp_3.ibt  | 81920 | INACTIVE | NONE      |
|  0 | 4294501260 | ./#innodb_temp/temp_4.ibt  | 81920 | INACTIVE | NONE      |
|  0 | 4294501261 | ./#innodb_temp/temp_5.ibt  | 81920 | INACTIVE | NONE      |
|  0 | 4294501262 | ./#innodb_temp/temp_6.ibt  | 81920 | INACTIVE | NONE      |
|  0 | 4294501263 | ./#innodb_temp/temp_7.ibt  | 81920 | INACTIVE | NONE      |
|  0 | 4294501264 | ./#innodb_temp/temp_8.ibt  | 81920 | INACTIVE | NONE      |
|  0 | 4294501265 | ./#innodb_temp/temp_9.ibt  | 81920 | INACTIVE | NONE      |
+----+------------+----------------------------+-------+----------+-----------+

INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO:用于存放活动临时表元数据信息

    ->   id int primary key,
    ->   name varchar(20) 
    -> )Engine=InnoDB ;
Query OK, 0 rows affected (0.00 sec)

root@localhost 13:04:27 [information_schema]>select * from  INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO ;
+----------+---------------+--------+------------+
| TABLE_ID | NAME          | N_COLS | SPACE      |
+----------+---------------+--------+------------+
|     1288 | #sql4de5_22_7 |      5 | 4294501265 |
+----------+---------------+--------+------------+
1 row in set (0.00 sec)

Global Temporary Tablespace:
全局临时表空间(ibtmp1)用于存放用户临时表空间修改数据都回滚段。
innodb_temp_data_file_path:指定临时表空间路径、名称、大小、属性,默认放在innodb_data_home_dir目录下。数据库正常重启,abort初始化时会被移除重建。在数据库不正常halt时,Global Temporary Tablespace不会自动删除,管理员能手动删除或者重启数据库

INFORMATION_SCHEMA.FILES 存放全局临时表空间元数据信息:
SELECT * FROM INFORMATION_SCHEMA.FILES WHERE TABLESPACE_NAME=‘innodb_temporary’\G

*************************** 1. row ***************************
             FILE_ID: 4294967293
           FILE_NAME: ./ibtmp1
           FILE_TYPE: TEMPORARY
     TABLESPACE_NAME: innodb_temporary
       TABLE_CATALOG: 
        TABLE_SCHEMA: NULL
          TABLE_NAME: NULL
  LOGFILE_GROUP_NAME: NULL
LOGFILE_GROUP_NUMBER: NULL
              ENGINE: InnoDB
       FULLTEXT_KEYS: NULL
        DELETED_ROWS: NULL
        UPDATE_COUNT: NULL
        FREE_EXTENTS: 2
       TOTAL_EXTENTS: 512
         EXTENT_SIZE: 1048576
        INITIAL_SIZE: 536870912
        MAXIMUM_SIZE: 34359738368
     AUTOEXTEND_SIZE: 67108864
       CREATION_TIME: NULL
    LAST_UPDATE_TIME: NULL
    LAST_ACCESS_TIME: NULL
        RECOVER_TIME: NULL
 TRANSACTION_COUNTER: NULL
             VERSION: NULL
          ROW_FORMAT: NULL
          TABLE_ROWS: NULL
      AVG_ROW_LENGTH: NULL
         DATA_LENGTH: NULL
     MAX_DATA_LENGTH: NULL
        INDEX_LENGTH: NULL
           DATA_FREE: 524288000
         CREATE_TIME: NULL
         UPDATE_TIME: NULL
          CHECK_TIME: NULL
            CHECKSUM: NULL
              STATUS: NORMAL
               EXTRA: NULL
1 row in set (0.00 sec)
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:22:23  更:2022-10-22 21:22:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 -2025/3/4 7:33:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码