InnoDB vs Myisam
InnoDB:
索引分为聚集索引与二级索引
支持事务
支持行级锁
支持外键
必须有主键,如果没有,会选择第一个非空唯一索引当主键,如果没有非空唯一索引,自动创建隐藏主键
对于自增长字段,InnoDB必须有 只有该字段 的索引
MyISAM:
索引只有一种(索引字段作为索引数据,叶子节点包含了该记录数据页地址),数据页和索引页分开
不支持事务,没有undo 和 redo
仅支持表锁
不支持外键
会保存表的总行数(InnoDB为什么不保存?因为InnoDB支持事务,保存了也不精准,就不这么设计了)
可以没有主键
对于自增长字段,MyISAM可以和其它字段一起建立联合索引
MyISAM数据页和索引页分开