Innodb crash safe?
2012-07-16 08:54:47   来源:http://www.mysqlperformanceblog.com/   评论:0 点击:

Stewart Smith(Percona系统开发总监)近期更新了一篇博客,描述了mysql innodb在做表级别修改(alter table)操作时,在show engine innodb status显示为两个事务。由此引申出innodb引擎并非DDL crash safe.

原文摘译:
当执行alter table ,innodb会生成两个事务:
1. 一个事务是用来表示当前表被锁,这个就是 “TABLE LOCK table `schema`.`table_name` trx id XXXX lock mode S” in SHOW ENGINE INNODB STATUS.
2  另外一个是在增加/删除索引的时候,操作innodb数据字典时建立

一个事实是Innodb的数据字典表是部分事务性的(非ACID),也就是并非可回滚的。

我所知道的唯一的crash safe(崩溃安全)的引擎是NDB.

注:
分区存储引擎是崩溃安全的,因为它使用DDL LOG来前滚或者回滚。
所以innodb partition table是安全的。

相关热词搜索:Innodb crash safe partition

上一篇:基于NoSQL内存数据库的Linux性能优化
下一篇:mysql不同内存分配器的性能区别

分享到: 收藏
iTechClub广告