innodb和myisam

学习innodb和myisam两个数据表引擎的不一样。 数据库

首先innodb采用b+tree数据结构myisam采用b-tree数据结构(不太理解)不要紧。
我所学习到的东西是,myisam\innodb都是采用文件索引,可是不一样之处在于myisam索引与数据分离,innodb是和数据在相同文件。先说myisam索引查询时会进行i/o操做因此索引创建太多会影响数据库效率,索引文件中存放是磁盘中的地址。而innodb文件中存放的是索引和数据,主索引就是数据表的主键,因此innodb必须有主键,而数据表的全部辅助索引都引用主键,因此辅助索引搜索时要搜索两次索引,首先检索辅助索引得到主键,而后用主键到主索引中检索得到记录。因此主键索引必须是惟一和简单的递增字段。 数据结构

经过上面的介绍可得知:myisam只适用于小数据表,大的数据会引发屡次的i/o读取索引文件致使效率极低。而innodb则能够存储大数据,由于索引在数据文件中。 学习

一些简单的区别: 大数据

myisam           innodb 索引

不支持外键       支持 innodb

不支持事物       支持 效率

支持全文索引    不支持 搜索

表锁定             行锁定 引用

相关文章
相关标签/搜索