InnoDB
InnoDB支持事务处理,处理很多短期的事情,往往执行成功而不是回滚。InnoDB是mysql最流行的存储引擎。它还具有所有常见的非事物引擎要求,如性能和自动回复。
InnoDB将数据存储在文件的某些列中,这些列称为表空间。Table 空是用户的黑匣子,InnoDB负责内部处理。在MySQL4.1和更高版本中,InnoDB可以存储数据并将其索引到独立的文件中。InnoDB也使用磁盘分区来创建表空。后面会在表空里详细说。
InnoDB使用MVCC来实现高并发性。并且实现了SQL标准的四个隔离级别。默认的隔离级别是不可重复读取,下一键锁定策略用于避免幻影读取的问题:InnoDB锁定索引结构中的区间,而不是仅仅锁定区间,以避免插入数据而不是仅仅锁定所操作的行导致的幻影读取。
InnoDB的表使用聚集索引。这将在后面的章节中详细解释。InnoDB的索引结构与其他引擎有很大不同。因此,查找主键的速度非常快。但是,辅助索引包含主键。所以如果主键太大。其他指数也会很大。如果一个表中有太多的索引,主键应该尽可能的小。InnoDB不能压缩索引。
到目前为止,InnoDB还不能建立这种索引,但是MyISAM引擎可以。因此,InnoDB在读取数据和创建索引方面比MyISAM慢。对InnoDB表结构的任何修改都将重新创建整个表,包括所有索引。
在设计InnoDB时,大多数服务器的硬盘速度很慢,CPU单一,内存有限。如今,拥有多核、大内存和高速硬盘的服务器并不十分昂贵。InnoDB有一些可伸缩性问题。开发者在解决问题。但到目前为止,许多问题仍然存在。在InnoDB并发调整这一章,我们将详细讲解如何提高InnoDB的并发性。
除了并发性,InnoDB还提供了外键约束的特性,这是MySQL本身所不具备的。InnoDB还提供了通过主键快速查询的功能。
InnoDB有很多内部优化方法。预先从硬盘中预读预取的数据,自适应哈希索引是在内存中自动创建哈希索引进行快速查找,插入缓存用于加速插入。这些优化将在后面的章节中详细解释。
InnoDB相当复杂,强烈建议查看官方文档。
东西和锁http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html # innodb-事务-模型
上面的教程让你知道在使用InnoDB之前应该注意什么。
关键词:MySQL
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227207.html