Innodb储存的特性

Innodb储存的特性

一、特性

1.它遵循ACID模式设计,具有与事务(Transactions),回滚和保护用户数据的崩溃恢复能力。
2.InnoDB 提供行级锁,拥有不加锁读取特性。InnoDB锁定在行级,这些特色增加了多用户并发性和性能表现。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级锁定适合非常小的空间。
3.InnoDB表基于主键在磁盘上安排数据,有优化的常见查询功能。每一个InnoDB表都有一个叫做聚集索引的主键索引,能尽可能减少数据查询次数。
4.为了维护数据完整性,InnoDB还支持外键完整性约束。
5.可以与其它MySQL存储引擎混合使用InnoDB表。例如,能用一个结合操作在一个单独查询中综合源自InnoDB和InnoDB表的数据。
6.InnoDB是针对提高CPU效率而设计的,并且在处理大数据时表现最佳。

二、锁介绍
1.作用:行级锁可以最大程度的支持并发,行级锁是由储存引擎实现的。
2.什么是锁: a.管理共享资源的并发访问。b.实现事物的隔离性(互不影响)
3.锁的类型:a.共享锁(也称读锁)。b.独占锁(也称写锁)。

三、阻塞
1.什么是阻塞:数据库阻塞的现象:第一个连接占有资源没有释放,而第二个连接需要获取这个资源。如果第一个连接没有提交或者回滚,第二个连接会一直等待下去,直到第一个连接释放该资源为止。对于阻塞,数据库无法处理,所以对数据库操作要及时地提交或者回滚。

四、什么是死锁
1.是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

五、如何正确选择存储引擎
1.事务:如果有事务推荐Innodb,如果没有事务主要用于select和insert操作推荐使用myisam。
2.备份:Innodb有免费的在线热备
3.崩溃恢复 :推荐Innodb
4.储存引擎本身的特性 : 推荐Innodb
5.不要混合使用储存引擎
6.大部分情况下使用Innodb操作系统

你可能感兴趣的:(Mysql学习篇)