数据库引擎

来源:互联网 发布:外国人对淘宝的评价 编辑:程序博客网 时间:2024/05/29 12:31





文件格式

MySQL通用(不管什么引擎)物理文件有slow log、query log、表定义文件frm。

 

InnoDB存储引擎的文件

系统总空间文件,一般是ibdata1/ibdata2(可配置)

用户表空间文件(需要开启 innodbfileper_table),存放的目录是:数据库目录/表名.ibd,如t1.ibd/t2.ibd...。

redolog文件(默认存储在系统总空间文件ibdata1)、倒排文件(开启全文索引后会有)




InnoDB和MyISAM的区别

InnoDB支持事务,而MyISAM是非事务引擎;

 

InnoDB的buffer pool可以缓存索引页和数据页,而MyISAM的key buffer只能缓存索引页,数据页依赖于OS的cache;

 

InnoDB可以实现行级锁,而MyISAM只能是表级锁。MyISAM的表级锁是个致命的缺陷,会严重降低数据库的并发性,甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作

 

在5.6之前InnoDB不支持全文索引,5.6也只是支持英文的全文索引,而MyISAM全面支持全文索引;

 

InnoDB对硬件的利用率较高,如5.6可以使用到64个CPU核等,而MyISAM对硬件的利用率较差,如只能使用一个CPU等。

 

InnoDB表数据和索引同在一个表空间中,而MyISAM数据文件和索引文件分开存储;

 

InnoDB支持Crashrecovery,而MyISAM则不支持

 

5.5.8之前,默认的存储引擎就是MyISAM,但从5.5.8开始,InnoDB为默认的存储引擎

 

MyISAM引擎行结构模式比较紧凑,磁盘占用较少,高速insertloaddata。支持全文索引(解决在我们需要用like查询的低效问题),统计表中数据量(count)快。但不支持事务

 

innoDB高并发读写,支持事务、外键。

 

索引区别

http://blog.csdn.net/b2222505/article/details/78234666




原创粉丝点击