1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mysql数据库的引擎和区别是什么 MySQL数据库存储引擎MyISAM和InnoDB的比较和主要区别

mysql数据库的引擎和区别是什么 MySQL数据库存储引擎MyISAM和InnoDB的比较和主要区别

时间:2022-09-16 07:54:25

相关推荐

mysql数据库的引擎和区别是什么 MySQL数据库存储引擎MyISAM和InnoDB的比较和主要区别

摘要

mysql两大存储引擎比较

使用mysql,性能提升来说,有必要学习存储引擎的知识。现在最流行的MySQL两大存储引擎的比较。

怎样在mysql数据库查看所有存储引擎?

使用命令:show engines;show create table 表名。

或者查看可用的存储引擎:

使用命令:show variables like 'storage_engine'。

mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。

最常使用的2种mysql存储引擎。

MyISAM、InnoDB区别:

Myisam是Mysql的默认存储引擎,当create创建新表时,未指定存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD(MYData,存储数据)、.MYI(MYIndex,存储索引)。

InnoDB提供具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

对于MYSQL你要使用事务以及行级锁就必须使用InnoDB引擎。

InnoDB不支持FULLTEXT类型的索引。你要使用全文索引,那必须使用myisam。

InnoDB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的功能是MYISAM没有的。建议你下个mysql5.1说明文档看看这几个存储引擎的区别!

MyISAM只支持表级锁,而InnoDB支持行级锁和表级锁默认为行级锁(locking on row level)。

InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”。

事务(myisam不支持事务)

数据文件构成

外键(innoDB支持;MyISAM表不支持外键)

读取速度(MyISAM读取速度快)

表的具体行数(MyISAM存入内存中,读取快)

InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含where条件时,两种表的操作是一样的。

MyISAM引擎的表在大量高并发的读写下会经常出现表损坏的情况。

对于count()查询来说MyISAM更有优势。

读性能。提高表的查询效率要用MyISAM引擎。

写性能。数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。

InnoDB在高并发的情况下,相信InnoDB的表现肯定要比MyISAM强很多。

稳定性、方便的扩展性和高可用性来说的话,性能较好,功能较弱来说,MyISAM是首选。

读多写少的项目,而MyISAM的读性能是比Innodb强不少的。

MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率就对应提高了不少。能加载更多索引,而Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小。

最主要的差别就是Innodb支持事务处理、存储过程、外键、视图、行级锁。而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用。

MyISAM,InnoDB这两种都支持存储过程。

区别在于:

MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。

MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,

而InnoDB提供事务支持已经外部键等高级数据库功能。

MySQL数据库的学习笔记。

历史上的今天:

mysql数据库的引擎和区别是什么 MySQL数据库存储引擎MyISAM和InnoDB的比较和主要区别 - 小俊学习网...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。