学习innodb和myisam两个数据表引擎的不一样。 数据库
首先innodb采用b+tree数据结构myisam采用b-tree数据结构(不太理解)不要紧。
我所学习到的东西是,myisam\innodb都是采用文件索引,可是不一样之处在于myisam索引与数据分离,innodb是和数据在相同文件。先说myisam索引查询时会进行i/o操做因此索引创建太多会影响数据库效率,索引文件中存放是磁盘中的地址。而innodb文件中存放的是索引和数据,主索引就是数据表的主键,因此innodb必须有主键,而数据表的全部辅助索引都引用主键,因此辅助索引搜索时要搜索两次索引,首先检索辅助索引得到主键,而后用主键到主索引中检索得到记录。因此主键索引必须是惟一和简单的递增字段。 数据结构
经过上面的介绍可得知:myisam只适用于小数据表,大的数据会引发屡次的i/o读取索引文件致使效率极低。而innodb则能够存储大数据,由于索引在数据文件中。 学习
一些简单的区别: 大数据
myisam innodb 索引
不支持外键 支持 innodb
不支持事物 支持 效率
支持全文索引 不支持 搜索
表锁定 行锁定 引用