独立undo空间

mysql5.5之前的innodb中,undo区域是系统表空间的一部分,但插入缓冲或doub lewrite缓冲等数据也会使用系统表空间。问题在于,undo区域是随机I/O工作,而double write缓冲基于顺序I/O向磁盘写记录。意味着,很难为保存系统表空间而选定磁盘位置。

mysql5.6的innodb引入3个系统变量,将undo区域放入非系统表空间:

1.innodb_undo_directory    #设置undo 存储区域,默认“.”表示undo 区域使用系统表空间

2.innodb_undo_tablespaces    #undo数据表空间最多可以创建126个,可以将undo区域想象为一个数据表,创建undo区域时可以划分多个数据表空间。

3.innodb_undo_logs    #该设置指定回滚段的个数(rollback segment),innodb中最多可有1023个写事物共享一个回滚段,此变量最大值可设128个。

原文地址:https://www.cnblogs.com/xxmysql/p/5750326.html