zoukankan      html  css  js  c++  java
  • MySQL Innodb--共享临时表空间和临时文件

     在MySQL 5.7版本中引入Online DDL特性和共享临时表空间特性,临时数据主要存放形式为:

    1、DML命令执行过程中文件排序(file sore)操作生成的临时文件,存储目录由参数tmpdir控制,以MY开头
    2、超大事务提交生成binary log过程中用于数据缓存的临时文件,存储目录由参数tmpdir控制,以ML开头
    3、使用ROW_FORMAT=COMPRESSED创建的压缩InnoDB临时表,存储目录由参数tmpdir控制,以frm和idb结尾
    4、没用ROW_FORMAT=COMPRESSED创建的非压缩压缩InnoDB临时表,存储在由参数innodb_temp_data_file_path指定的共享临时文件中
    5、使用COPY模式的Onine DDL创建的临时文件,存储在操作表相同目录下,以sql-开头,以frm和idb结尾
    6、使用INPLACE模式的Onine DDL创建的临时文件,存储在操作表相同目录下,以sql-和sql-ib开头,以frm和idb结尾
    7、Online DDL操作过程中排序操作使用的临时文件,存储目录由参数tmpdir控制,以ib开头
    8、MySQL InnoDB存储引擎层使用的内部临时表,存储在由参数innodb_temp_data_file_path指定的共享临时文件中

    MySQL 共享临时表空间(shared temporary tablespace)
    在MySQL 5.7.1版本中引入,将临时表空间从系统表空间中独立处理,用来存放:
    1、非压缩InnoDB临时表(non-compressed InnoDB temporary tables)
    2、关系对象(related objects)
    3、回滚段(rollback segment)

    由于共享临时表空间主要存放的数据无需参与Crash Recovery,重启时可以被删除重建,方便回收空间。
    共享临时表空间由参数innodb_temp_data_file_path控制,默认配置为ibtmp1:12M:autoextend,未指定路径时存在在innodb_data_home_dir下。

    使用下面命令能查看MySQL临时目录下的文件

    lsof |grep '/export/data/mysql/tmp/'

    输出为:

    mysqld    22346   mysql    5u      REG               8,17            0   47278234 /export/data/mysql/tmp/ibW1DoSr (deleted)
    mysqld    22346   mysql    6u      REG               8,17            0   47278235 /export/data/mysql/tmp/ibAhuhtS (deleted)
    mysqld    22346   mysql    7u      REG               8,17            0   47278236 /export/data/mysql/tmp/ibiiHa4i (deleted)
    mysqld    22346   mysql    8u      REG               8,17            0   47278237 /export/data/mysql/tmp/ibeje7dX (deleted)
    mysqld    22346   mysql   13u      REG               8,17            0   47278238 /export/data/mysql/tmp/ibLORUJC (deleted)
    mysqld    22346   mysql 2943u      REG               8,17            0   47278301 /export/data/mysql/tmp/MLVChF9b (deleted)
    mysqld    22346   mysql 3785u      REG               8,17            0   47278326 /export/data/mysql/tmp/MLx6V0TO (deleted)
    mysqld    22346   mysql 4795u      REG               8,17            0   47278371 /export/data/mysql/tmp/MLz5r2Yv (deleted)
    mysqld    22346   mysql 4928u      REG               8,17            0   47278574 /export/data/mysql/tmp/ML7ivmrd (deleted)
    mysqld    22346   mysql 5414u      REG               8,17            0   47278653 /export/data/mysql/tmp/MLx4HGxW (deleted)
    mysqld    22346   mysql 6105u      REG               8,17            0   47278714 /export/data/mysql/tmp/MLADScmK (deleted)
    mysqld    22346   mysql 6314u      REG               8,17            0   47278715 /export/data/mysql/tmp/MLG8aCpz (deleted)
    mysqld    22346   mysql 6315u      REG               8,17            0   47278716 /export/data/mysql/tmp/MLJ7MuCo (deleted)

    可以看到该目录下有ML开头和ib开头的文件,用来缓存BINLOG和排序结果。

  • 相关阅读:
    将单向链表按某值划分为左边小、中间相等、右边大的形式
    数组中的数字按某值划分为左边小、中间相等、右边大的形式
    Kendo UI for jQuery管理数据有妙招!轻松将数据存储为JSON
    DevExpress Xamarin.Forms v21.1
    界面控件Telerik UI for WinForm初级教程
    WPF应用程序的主题颜色如何修改?DevExpress调色板工具很好用
    DevExpress WinForm模板库可快速创建Windows样式的应用程序界面
    Kendo UI for jQuery数据管理使用教程:Spreadsheet
    开发框架DevExtreme入门级教程
    跨平台.NET应用程序界面开发新亮点
  • 原文地址:https://www.cnblogs.com/gaogao67/p/10969359.html
Copyright © 2011-2022 走看看