MySQL进阶之存储引擎MyISAM与InnoDB的区别

Posted 佳星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL进阶之存储引擎MyISAM与InnoDB的区别相关的知识,希望对你有一定的参考价值。

一、存储引擎(表类型)

通常意义上,数据库就是数据的集合,具体到计算机数据库可以是存储器上一些文件的集合或一些内存数据的集合。我们通常说的mysql数据库、sql Server数据库等其实是数据库管理系统(Database Management System,即DBMS),它们可以存储数据,并提供查询和更新等功能。

存储引擎就是如何为存储的数据建立索引、如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也称为表类型。

二、InnoDB和MyISAM

InnoDB和MyISAM是最经常使用的两个表类型,其基本差别主要为:

MyISAM存储引擎的特点是:表级锁、不支持事务和全文索引,适合一些CMS内容管理系统作为后台数据库使用,但是使用大并发、重负荷生产系统上,表锁结构的特性就显得力不从心;

InnoDB存储引擎的特点是:行级锁、事务安全(ACID兼容)、支持外键、不支持FULLTEXT类型的索引(5.6.4以后版本开始支持FULLTEXT类型的索引)。InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全存储引擎。InnoDB是为处理巨大量时拥有最大性能而设计的。它的CPU效率可能是任何其他基于磁盘的关系数据库引擎所不能匹敌的。

以上是关于MySQL进阶之存储引擎MyISAM与InnoDB的区别的主要内容,如果未能解决你的问题,请参考以下文章

MySQL存储引擎之Myisam和Innodb总结性梳理

MySQL存储引擎之Myisam和Innodb总结性梳理-转

Mysql存储引擎之myisam

MySQL存储引擎MyISAM与InnoDB区别

浅谈MYSQL引擎之INNODB引擎

MySQL进阶part1