14.5.7 Storing InnoDB Undo Logs in Separate Tablespaces 存储InnoDB Undo logs 到单独的表空间

在MySQL 5.6.3,你可以存储InnoDB undo logs 在一个或者多个单独的undo 表空间在system tablespace外面

。

这种布局不同于默认的配置 ,默认undo log 是system tablespace的一部分。

unod log I/O 模式让那些表空间良好的候选移动到SSD 存储,

相比让system tablespace 在hard disk 存储上。

用户不能drop 创建用于保存InnoDB undo logs 单独的表空间,

或者单独的segments 在那些表空间里。

因为那些文件处理I/O操作在system 表空间里,我们扩展 系统表空间的定义来包含那些新的文件:

Undo logs 也被称为rollback 段:

这个功能设计下面的新的或者重命名的配置选项:

mysql> show variables like '%innodb_undo_tablespaces%';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| innodb_undo_tablespaces | 0 |
+-------------------------+-------+
1 row in set (0.00 sec) mysql> show variables like '%innodb_undo_directory%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_undo_directory | . |
+-----------------------+-------+
1 row in set (0.00 sec) mysql> show variables like '%innodb_rollback_segments%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_rollback_segments | 128 |
+--------------------------+-------+
1 row in set (0.00 sec) mysql> show variables like '%innodb_undo_logs%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| innodb_undo_logs | 128 |
+------------------+-------+
1 row in set (0.00 sec) 因为InnoDB undo log功能设计设置2个非动态的启动变量((innodb_undo_tablespaces and innodb_undo_directory), 这个功能只能在MySQL 初始化一个实例的时候启用 使用说明: 使用这个功能,按照以下步骤: 1.确定一个路径来保存undo logs.你会指定路径作为 innodb_undo_directory option的参数在你的 MySQL 配置文件或者启动脚本。 对于嵌入式MySQL实例,一个决定路径必须指定 mysql> show variables like '%innodb_undo_directory%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_undo_directory | . |
+-----------------------+-------+
1 row in set (0.00 sec) 2.决定一个初始值对于innodb_undo_logs option.你可以以一个相对低的值启动, 随着时间的推移和性能影响来增加 3. 决定对一个 innodb_undo_tablespaces选项一个非0值, 通过 innodb_undo_logs 指定多个undo logs 是被分成在一些单独的表空间(表现为.ibd文件)。 mysql> show variables like '%innodb_undo_tablespaces%';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| innodb_undo_tablespaces | 0 |
+-------------------------+-------+
1 row in set (0.00 sec) 这个值是固定的在MySQL 实例生命周期,如果你不确定最优的值, 偏高的估计。 4.创建一个新的MySQL 实例,使用值你选择在配置文件或者在你的MySQL 启动脚本。 使用一个类似的负载和你生成服务器类似的负载。 另外,使用传输表空间功能来复制存在的数据库表到你新配置的MySQL实例。 5. 基准I/O密集型负载: 6. 定期增加innodb_undo_logs 的值和返回性能测试,查找在你停止体验收益在I/O性能的值 性能和可扩展性方面的考虑: 保持undo logs 在单独的文件允许MySQL 团队来执行I/O 和内存优化相关的事务数据。 比如,因为Undo 数据被写入磁盘,很少使用( 只有在实例恢复的时候), 它不需要保存在文件内存缓存里

14.5.7 Storing InnoDB Undo Logs in Separate Tablespaces 存储InnoDB Undo logs 到单独的表空间的更多相关文章

  1. Mysql InnoDB 共享表空间和独立表空间

    前言:学习mysql的时候总是习惯性的和oracle数据库进行比较.在学习mysql InnoDB的存储结构的时候也免不了跟oracle进行比较.Oracle的数据存储有表空间.段.区.块.数据文件: ...

  2. 9. InnoDB通用表空间

    9. InnoDB通用表空间 通用表空间是InnoDB 使用CREATE TABLESPACE语法创建的共享表空间.本节中的以下主题描述了常规表空间功能和功能: 通用表空间功能 创建通用表空间 将表添 ...

  3. Innodb之(临时)表空间、段、区、块

    引用连接:https://www.cnblogs.com/duanxz/p/3724120.html 对于innodb存储引擎而言,其数据文件最小的存储单位为页.默认为16KB大小.在页的基础上又分为 ...

  4. MySQL数据库系列(四)- InnoDB下的共享表空间和独立表空间详解

    一.概念 共享表空间: Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制.从Innod ...

  5. 15.3、mysql之InnoDB和MyISAM表空间详解

    15.3.1.InnoDB引擎表空间: 1.表空间分类: 共享表空间: 某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在 data目录下. 默认的文件名为:ibd ...

  6. MySQL如何判别InnoDB表是独立表空间还是共享表空间

    InnoDB采用按表空间(tablespace)的方式进行存储数据, 默认配置情况下会有一个初始大小为10MB, 名字为ibdata1的文件, 该文件就是默认的表空间文件(tablespce file ...

  7. oracle undo表空间大小修改

    redhat:清空回收站 rm -rf  /home/登录用户名/.Trash 例子:rm -rf /home/.Trash-root df命令可以显示目前所有文件系统的可用空间及使用情形: 例子:d ...

  8. InnoDB存储引擎的表空间文件,重做日志文件

    存储引擎文件:因为MySQL表存储引擎的关系,每个存储引擎都会有自己的文件来保存各种数据.这些存储引擎真正存储了数据和索引等数据. 表空间文件 InnoDB存储引擎在存储设计上模仿了Oracle,将存 ...

  9. 4. InnoDB表单独表空间

    4. InnoDB表单独表空间 从历史上看,所有InnoDB表和索引都存储在系统表空间中.这种单片方法的目标是完全专用于数据库处理的机器,精心规划的数据增长,其中任何分配给MySQL的磁盘存储都不会用 ...

随机推荐

  1. 多线程之线程通信条件Condition

    Condition是Locks锁下的还有一种线程通信之间唤醒.堵塞的实现.它以下的await,和signal可以实现Object下的wait,notify和notifyAll的所有功能,除此之外改监视 ...

  2. Android 系统稳定性 - ANR(一)

    文章都为原创,转载请注明出处,未经允许而盗用者追究法律责任.很久之前写的了,留着有点浪费,共享之.编写者:李文栋  如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡.缴 ...

  3. Lua学习笔记6:C++和Lua的相互调用

        曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有.     新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项 ...

  4. C#文件上传和文件下载

    #region 文件上传 private void UpLoadFile(string fileName, string fileNamePath, string uriString) { ); if ...

  5. jsp生命周期和工作原理

    jsp的工作原理jsp是一种Servlet,但是与HttpServlet的工作方式不太一样.httpservlet是先由源代码编译为class文件后部署到服务器下的,先编译后部署.而jsp则是先部署后 ...

  6. 【转】linux下 postgres的一些操作总结

    参考博文: PostgreSQL详解     1. 基本操作命令 安装完成后,PostgreSQL默认创建了名为postgres数据库用户账户,其与MySQL的root以及SQL Server的sa账 ...

  7. Qt序列化格式分析(qint,QString)(非常简单好用)

    最近项目需要进行QT开发环境下对传输对象进行序列化与反序列化处理,对基本类型的处理在使用QT默认的序列化方式还是完全手工序列化这两种方式之间有些犹疑不定,边想了解下QT默认序列化基本类型的格式,项目中 ...

  8. js动态向页面中添加表格

    我们在实际开发中经常会想要实现如下情况: 点击某个按钮,然后动态的网页面里面添加一个表格或者一行,这个更加灵活方便.但是实现起来肯定不能像在页面里面直接写标签来的容易,以下是我项目中的代码,拿过来分享 ...

  9. Quartz中文文档使用

    Quartz中文使用说明文档,内容相当详细,有需要的码友们可以看看!! 好东西要分享!! 下面是文档的内容目录,附上下载的地址:点击打开链接,下载文档 中文版目录总汇及内容提要 第一章. 企业应用中的 ...

  10. Struts2学习笔记(一) Struts2配置文件的配置

    1.配置web.xml文件. 在Struts2中,struts框架式通过Filter启动的.Filter在web.xml中的配置如下: <filter> <filter-name&g ...