-
查看当前Mysql提供的存储引擎
show engines;
查看你的MySQL当前默认的存储引擎
show variables like '%storage_engine%';
-
-
innodb支持事务,而myisam不支持事务。
-
innodb支持外键,而myisam不支持外键。
-
innodb默认表锁,使用索引检索条件时是行锁,而myisam是表锁(每次更新增加删除都会锁住表)。
-
innodb和myisam的索引都是基于b+树,但他们具体实现不一样,innodb的b+树的叶子节点是存放数据的,myisam的b+树的叶子节点是存放指针的。
-
innodb是聚簇索引,必须要有主键,一定会基于主键查询,但是辅助索引就会查询两次,myisam是非聚簇索引,索引和数据是分离的,索引里保存的是数据地址的指针,主键索引和辅助索引是分开的。
-
innodb不存储表的行数,所以select count( * )的时候会全表查询,而myisam会存放表的行数,select count(*)的时候会查的很快。
总结:mysql默认使用innodb,如果要用事务和外键就使用innodb,如果这张表只用来查询,可以用myisam。如果更新删除增加频繁就使用innodb
-
存储引擎简介
最新推荐文章于 2024-07-10 19:12:38 发布