MySQL数据库表引擎的选择

在MySQL中我们主要会使用到两种表引擎:InnoDB和MyISAM。

下面我们来看看两种表引擎的区别:

(一)InnoDB引擎:

1.灾难恢复性好。

2.支持4种级别的事务,双认事务的隔高级别是Repeatable Read,事务支持是通过MVCC并发控制来提供的。

3.使用行级锁,并发性能高。

4.使用此存储引擎的表,数据的物理组织形式是簇表,数据按主键来组织,即主键索引和数据是在一起的,B+树就是这样的。

5.实现缓冲管理,能缓存索引也能缓存数据。

6.支持外键。

7.支持热备份。

8.对数据的插入,更改,删除性能更好。

(二)MyISAM引擎:

1.配合锁,实现操作系统下的复制备份、迁移。

2.使用表级锁并发性差。

3.支持全文索引。

4.主机宕机后,表容易损坏,灾难恢复性差。

5.无事物支持。

6.只能缓存索引,数据缓存利用操作系统缓冲区来实现,引发过多的系统调用,性能不佳。

7.数据紧凑存储,可以获得更快的索引和更快的全表扫描性能。

8.对数据的查询,性能表现更好。

(三)两种存储引擎的选择:

我们通常选用InnoDB作为表的存储引擎,能使用事物,且并发性高,支持外键,支持外键索引等

.

猜你喜欢

转载自570109268.iteye.com/blog/2414844
今日推荐