InnoDB的Master Thread调度流程

2011-01-10 00:17:27  |   才被阅读:2,409 次  |   要评论?
分类: MySQL高级应用  |   发布: OurMySQL  |   来源:P.LINUX
标签: , , ,

解释一下“插入缓冲”(Insert Buffer):InnoDB为了避免更新数据时更新索引损失太多性能,使用了这种称为Insert Buffer的方法来缓冲索引更新,对于非聚集索引(主键索引)、唯一索引的修改,不是每次都直接插入索引页,而是先判断要更新的这一页在不在内存中,如果不在则存入Insert Buffer,按照Master Thread的调度规则来合并非唯一索引和索引页中的叶子结点,这样经常能减少更新索引的代价。为什么要求是非唯一索引(排除主键索引和唯一索引)呢?因为唯一索引要检查记录是不是存在,所以必须把修改的记录影响的索引页读出来才知道是不是唯一,这样Insert Buffer就没意义了,反正要读出来,所以只对非唯一索引有效。

继续阅读全文...

InnoDB的”替代品”:Percona XtraDB

2009-12-12 23:27:39  |   才被阅读:2,410 次  |   才3条评论
分类: MySQL优化设计  |   发布: OurMySQL  |   来源:SQL部落
标签: ,

XtraDB是Percona Team在InnoDB的基础上开发出来的一个更加强大的存储引擎,它百分百的兼容InnoDB,我们可以用XtraDB来替代为MySQL的发展做出历史性贡献的InnoDB,新的XtraDB引擎将具有更加强大的性能优势,以及良好的扩展性和一些新特性。

继续阅读全文...