December 2014

MySQL 多事务引擎XA

有那么一坨代码,他虽然在那里,我们却很少用到。。那就是MySQL的多XA事务引擎特性支持。。本周我们来探讨下TC LOG MMAP的代码实现。由于工作的关系,这块很少涉及,正好趁着周末补补漏。   本文分析的代码基于支持Tokudb的MySQL5.6.16 和MySQL 5.7.5;原因是官方MySQL还不包含多个事务引擎,因此代码压根走不到TC LOG MMAP. 但是MySQL5.7又Fix掉了相关的XA BUG (bug#47134),因此本文贴出的代码部分以MySQL5.7.5为主,调试部分以我们支持TOKUDB的MySQL5.6.16内部分支为主。 原创文章,转载请注明: 转载自Simple Life 本文链接地址: MySQL 多事务引擎XA Post Footer automatically generated by wp-posturl plugin for wordpress.

MySQL 5.7 :新的日志类型MLOG_FILE_NAME来避免崩溃恢复时扫描全部ibd

前言 对应 Worklog:http://dev.mysql.com/worklog/task/?id=7142 对应change log entry: Incompatible Change: A new log record type (MLOG_FILE_NAME) is used to identify file-per-table tablespaces that have been modified since the last checkpoint. This enhancement simplifies tablespace discovery during crash recovery and eliminates scans on the file system prior to redo log application. For more information about the benefits of […]

MySQL: 初试Memcached Plugin

Memcached Plugin对我而言是一个基本没触摸过的领域,因此本文会以一个“小白”的视角,开始一步步学习,从如何使用和源码实现的角度进行阐述。 关于Memcached的好处就不多说了,跳过语法解析和优化器,直达Innodb层,支持k-v操作,也就是所谓的NOSQL。同时你依然可以通过SQL来操作Innodb表。 官方文档列出的一大堆优点,见:http://dev.mysql.com/doc/refman/5.7/en/innodb-memcached-benefits.html 注意本文是我学习过程的记录,因此可能阅读起来比较不太通顺,但尝鲜的朋友可以根据前面几节step by step玩一下memcached。由于我之前完全没接触过memcached,所以相关的主要命令也一个个尝试了,并总结在本文中。 原创文章,转载请注明: 转载自Simple Life 本文链接地址: MySQL: 初试Memcached Plugin Post Footer automatically generated by wp-posturl plugin for wordpress.

Facebook MySQL: 索引在线碎片整理特性

背景 我们知道Innodb使用BTREE来进行数据组织存储,当发生INSERT/UPDATE/DELETE时,有可能会产生数据s碎片,不能有效的利用page空间。而这些空洞在未来甚至有可能不再被使用到。即使是顺序的Insert,也可能产生空间浪费:为了保证以后对相同page的更新不会产生page分裂,Innodb总是为其保留一部分的剩余空间。 原创文章,转载请注明: 转载自Simple Life 本文链接地址: Facebook MySQL: 索引在线碎片整理特性 Post Footer automatically generated by wp-posturl plugin for wordpress.

MySQL 5.7: Innodb事务对象缓存

在5.7中,Innodb引入了一个pool结构来专门做对象缓存重用。这可能会提升短连接场景的性能。本文的目的主要是理清其代码结构。当然主要是作为一个C++小白,学习下C++的一些代码STYLE。 代码版本:MySQL 5.7.5 我们这里以事务对象池为例 1.初始化的过程如下: 原创文章,转载请注明: 转载自Simple Life 本文链接地址: MySQL 5.7: Innodb事务对象缓存 Post Footer automatically generated by wp-posturl plugin for wordpress.