linux mysql temp 设置_linux怎么修改mysql数据库临时表空间大小

MySQL5.7将临时表中的数据和回滚信息(仅适用于未压缩的表)从共享表空间中剥离,以形成它们自己的单独表空间。参数为innodb_temp_data_file_path。

在MySQL 5.7中,临时表的相关检索信息保存在系统信息表中:information_schema.innodb_temp_table_info。 并且MySQL 5.7之前的版本希望查看临时表系统信息不是很好。

要注意的一件事是,尽管INNODB临时表具有其自己的表空间,但是当前无法独自定义临时表空间文件的存储路径。它只能从innodb_data_home_dir继承。此时,如果要使用其他磁盘(例如内存磁盘)作为临时表空间的存储地址,则只能使用旧方法进行软链接。举一个小例子:

我正在使用的操作系统是Ubuntu12.X,我想将tmpfs文件系统用作临时表空间,

root @ ytt-master-VirtualBox:/usr/local/mysql/data# ln-s/run/shm//usr/local/mysql/data/tmp_space2

root @ ytt-master-VirtualBox:/usr/local/mysql/data#ls-l | grep” shm”

lrwxrwxrwx1 root root 13 Nov 13 10:28tmp_space2-\ gt;/run/shm/

然后将

innodb_temp_data_file_path = tmp_space2//ibtmp2:200M:autoextend

添加到my.cnf中[mysqld]下面的行

重新启动MySQL服务后,

mysql \ gt;选择@@ innodb_temp_data_file_path \\\\ G

*************************** 1.行*** *** *********************

@@ innodb_temp_data_file_path:tmp_space2/ibtmp2:200M:autoextend

1行设置( 0.00秒)

首先编写一个存储过程,用于批量创建临时表:

DELIMITER $$

USE` t_girl` $$

如果存在`sp_create_temporary_table` $$

CREATEDEFINER =`root` @`localhost`过程`sp_create_temporary_table `(

IN f_cnt INT UNSIGNED)

开始

DECLARE i INT UNSIGNED DEFAULT 1;

当我\ lt; = f_cnt

DO

SET @ stmt = CONCAT(”创建临时表tmp”,i,”(id int,tmp_desc varchar(60));”);

从@stmt准备s1;

执行s1;

SET i = i + 1;

结束时;

DROP PREPARE s1;

END $$

分隔符;

现在创建10个临时表:

>

mysql \ gt;调用sp_create_temporary_table(10);

QueryOK,受影响的行数为0.07秒(0.07秒)

如果在过去,我们仅知道创建了10个临时表,但是临时表的名称和其他信息只能通过内存或手动记录。

现在可以直接从数据字典中检索相关数据。

mysql \ gt; 选择* frominformation_schema.innodb_temp_table_info;

+———-+————–+——–+——-+———————-+—————+

| TABLE_ID | NAME | N_COLS |空间| PER_TABLE_TABLESPACE | IS_COMPRESSED |

+———-+————–+——–+——-+———————-+—————+

| 56 | #sql1705_2_9 | 5 | 36 |假|假|

| 55 | #sql1705_2_8 5 | 36 |假|假|

| 54 | #sql1705_2_7 | 5 | 36 |假|假|

| 53 | #sql1705_2_6 | |

| 52 | #sql1705_2_5 | 5 | 36 |假|假|

| 51 | #sql1705_2_4 | 5 | 36 |假|假|

50 | #sql1705_2_3 | 5 | 36 |假|假|

| 49 | #sql1705_2_2 | 5 | 36 |假|假|

| 36 |假|假|

| 47 | #sql1705_2_0 | 5 | 36 |假|假|

+———-+————–+——–+——-+———————-+—————+

设置10行(0.00秒)

可能性我写信给您,如果您有时间测试,我们会对性能感兴趣。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值