mysql5.7 temp_MySQL5.7-学习笔记(kylix)-2019.3.29-temp&undo

共享临时表空间与tmpdir对比

innodb_temp_data_file_path用于存储非压缩InnoDB临时表(non-compressed

InnoDB temporary tables)、关系对象(related

objects)、回滚段(rollback

segment)等数据。

tmpdir存储的是压缩InnoDB

temporary tables的临时独立表空间。

tmpdir下的东西和共享临时表空间最大的共同点以及特性就是,实例关闭之后,将会被删除。

innodb_undo_tablespaces

下面对这3个参数做一下解释:

(1)innodb_undo_directory,指定单独存放undo表空间的目录,默认为.(即datadir),可以设置相对路径或者绝对路径。该参数实例初始化之后虽然不可直接改动,但是可以通过先停库,修改配置文件,然后移动undo表空间文件的方式去修改该参数;

(2)innodb_undo_tablespaces,指定单独存放的undo表空间个数,例如如果设置为3,则undo表空间为undo001、undo002、undo003,每个文件初始大小默认为10M。该参数我们推荐设置为大于等于3,原因下文将解释。该参数实例初始化之后不可改动;

(3)innodb_undo_logs,指定回滚段的个数(早期版本该参数名字是innodb_rollback_segments),默认128个。每个回滚段可同时支持1024个在线事务。这些回滚段会平均分布到各个undo表空间中。该变量可以动态调整,但是物理上的回滚段不会减少,只是会控制用到的回滚段的个数。

因为在MySQL

5.7中,第一个undo

log永远在系统表空间中,另外32个undo

log分配给了临时表空间。

用于设定创建的undo表空间的个数,在mysql_install_db时初始化后,就再也不能被改动了;默认值为0,表示不独立设置undo的tablespace,默认记录到ibdata中;否则,则在undo目录下创建这么多个undo文件,例如假定设置该值为4,那么就会创建命名为undo001~undo004的undo

tablespace文件,每个文件的默认大小为10M。修改该值会导致Innodb无法完成初始化,数据库无法启动,但是另两个参数可以修改;

早期版本的命名为innodb_rollback_segments,该变量可以动态调整,但是物理上的回滚段不会减少,只是会控制用到的回滚段的个数;

MySQL5.7.5之后undo表空间可以truncate了。需要配置至少2个undo表空间innodb_undo_spaces=2,undo表空间被删除时临时设置为offline状态,至少有另外一个undo表空间服务才可以让server工作。如果配置成1个undo表空间的话,即使开启truncate也没用,本undo表空间文件会一直增大,甚至撑爆磁盘。

Mysql5.7.5之后版本,set

global

innodb_undo_log_truncate=on开启truncate功能,innodb_max_undo_log_size为undo表空间文件的阈值,默认1G,超过改值,会自动进行truncate。如果不开启truncate则导致undo表空间文件不断增大。

Innodb buffer pool

# The buffer pool has a default size of 128MB (134217728

bytes)

mysql> SELECT @@innodb_buffer_pool_size;

+---------------------------+

| @@innodb_buffer_pool_size |

+---------------------------+

|134217728 |

+---------------------------+

# The chunk size is also 128MB (134217728 bytes)

mysql> SELECT @@innodb_buffer_pool_chunk_size;

+---------------------------------+

| @@innodb_buffer_pool_chunk_size |

+---------------------------------+

|134217728 |

+---------------------------------+

# There is a single buffer pool instance

mysql> SELECT @@innodb_buffer_pool_instances;

+--------------------------------+

| @@innodb_buffer_pool_instances |

+--------------------------------+

|1 |

set global tmp_table_size = 256M;

set global

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kylix Delphi 是一种编程工具,它是由 Borland 公司开发的一套集成开发环境 (IDE),用于创建基于 Object Pascal 的跨平台应用程序。它是 Delphi 的 Linux 版本,为开发者提供了在 Linux 平台上编写图形化用户界面 (GUI) 应用程序的能力。 Kylix Delphi 继承了 Delphi 在 Windows 平台上的强大功能和易用性。它提供了丰富的工具和组件库,使开发者能够快速构建高效、稳定和易维护的应用程序。Kylix Delphi 的开发方式与传统的 Delphi 开发类似,开发者可以通过可视化设计器来设计界面,使用 Object Pascal 进行编码,并在运行时进行调试和测试。 与 Windows 版本的 Delphi 一样,Kylix Delphi 也支持事件驱动的编程模型,使开发者能够通过响应用户操作和系统事件来设计交互式的应用程序。此外,Kylix Delphi 还提供了丰富的数据库连接组件和数据访问技术,可以轻松地处理数据的存储、查询和操作。 Kylix Delphi 的最大特点是它的跨平台能力。开发者可以使用同一套代码在不同的 Linux 发行版上构建应用程序,如 Red Hat、SUSE、Ubuntu 等。这大大简化了开发人员的工作,减少了维护不同版本的代码的麻烦。 总而言之,Kylix Delphi 是一个功能强大、易学易用的跨平台开发工具,它为开发者提供了在 Linux 平台上创建高性能应用程序的能力。无论是初学者还是有经验的开发人员,都可以利用 Kylix Delphi 构建功能丰富、用户友好的应用程序,实现自己的创意和商业目标。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值