六盘水住房和城乡建设部网站,最新新闻热点,wordpress导航条的登入按钮,南京市建设局网站先看图#xff1a; mysql常用引擎包括#xff1a;MYISAM、Innodb、Memory、MERGE
MYISAM#xff1a; 全表锁#xff0c;拥有较高的执行速度#xff0c;不支持事务#xff0c;不支持外键#xff0c;并发性能差#xff0c;占用空间相对较小#xff0c;对事务完整性没有…先看图 mysql常用引擎包括MYISAM、Innodb、Memory、MERGE
MYISAM 全表锁拥有较高的执行速度不支持事务不支持外键并发性能差占用空间相对较小对事务完整性没有要求以select、insert为主的应用基本上可以使用这引擎
Innodb: 行级锁提供了具有提交、回滚和崩溃回复能力的事务安全支持自动增长列支持外键约束并发能力强占用空间是MYISAM的2.5倍处理效率相对会差一些
Memory: 全表锁存储在内容中速度快但会占用和数据量成正比的内存空间且数据在mysql重启时会丢失默认使用HASH索引检索效率非常高但不适用于精确查找主要用于那些内容变化不频繁的代码表
MERGE 是一组MYISAM表的组合
常用的两个引擎为InnoDB 与 MyISAM它们的区别如下
1 InnoDB支持事务MyISAM不支持对于InnoDB每一条SQL语言都默认封装成事务自动提交这样会影响速度所以最好把多条SQL语言放在begin和commit之间组成一个事务
2 InnoDB支持外键而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败
3 InnoDB是聚集索引数据文件是和索引绑在一起的必须要有主键通过主键索引效率很高。但是辅助索引需要两次查询先查询到主键然后再通过主键查询到数据。因此主键不应该过大因为主键太大其他索引也都会很大。而MyISAM是非聚集索引数据文件是分离的索引保存的是数据文件的指针。主键索引和辅助索引是独立的。
4 InnoDB不保存表的具体行数执行select count(*) from table时需要全表扫描。而MyISAM用一个变量保存了整个表的行数执行上述语句时只需要读出该变量即可速度很快
5 Innodb不支持全文索引而MyISAM支持全文索引查询效率上MyISAM要高