1、存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。
2、MySQL中的数据用各种不同的技术存储在文件(或内存)中,这些技术中的每一种技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同功能和能力。在MySQL中将这些不同的技术及配套的相关功能称为存储引擎。
MySQL中常用的几种存储引擎:innoDB、bdb、myisam、memory以及这几个引擎的讲解;
innoDB存储引擎:
(1) innodb存储引擎该mysql表提供了事务,回滚以及系统崩溃修复能力和多版本迸发控制的事务的安全。
(2)innodb支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空的话怎会进行自动存现有的值开始增值,如果有但是比现在的还大,则就保存这个值。
(3)innodb存储引擎支持外键(foreign key) ,外键所在的表称为子表而所依赖的表称为父表。
(4)innodb存储引擎最重要的是支持事务,以及事务相关联功能。
(5)innodb存储引擎支持mvcc的行级锁。
innoDB和MyISAM的区别
1、InnoDB支持外键,MyISAM不支持外键。
2、InnoDB支持事务,MyISAM不支持事务。
3、InnoDB的锁是行级锁,MyISAM的锁是表级锁。
4、InnoDB不保存表的具体行数,select count(*)时会扫描整个表计算有多少行;MyISAM会保存行数。
5、对于AUTO_INCREMENT类型的字段,InnoDB的索引只能包含该字段;MyISAM中AUTO_INCREMENT类型的字段可以和其他字段建立联合索引。