mysql InnoDB与MyISAM的区别

阅读数:78 评论数:0

跳转到新版页面

分类

数据库

正文

1、InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务。

2、InnoDB支持外键,而MyISAM不支持。

3、InnoDB是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主主键索引效率很高。MyISAM是非聚集索引。

(1)聚簇索引:.frm 存放的是表结构,.ibd存放数据和索引

(2)非聚簇索引:.frm存放表结构,.MYI存放索引数据,.MYD存放数据。

4、InnoDB不保存表的具体行数,而MyISAM用一个变量保存整个表的行数。

5、InnoDB不支持全文索引,而MyISAM支持全文索引。

6、innodeb支持表锁和行锁,Myisam支持表锁。

在选择存储引擎时,如果是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不高,使用MyISAM。




相关推荐

默认情况下,mysql是自动提交模式,可以通过如下命令关闭 set autocommit=0;</pr

Centos7的yum源中没有mysql,为了解决这个问题,我们需要先下载mysql的repo源。 一、下载mysql的repo源并安装 wget http://repo.mysql.com/mysq

备份的类型 1、根据是否需要数据库离线 (1)冷备: 需要关mysql服务,请写请求均不允许 (2)温备: 服务在线,但仅支持读请求。 <p

如果主库已经投入使用了,此时如果需要主从同步,需要导出所表结构和数据,然后导入到从库中。这时需要注意修改/var/lib/mysql/auto.cnf中uuid。 master配

一、事务的ACID 1、Atomicity原子性 Transactions are often composed of multiple statements. Atomicity guarantee

一、登录mysql mysql --version -查看Mysql版本 mysql -h hostname -u username -p -h:运行mysql服务器的机器,如果正在该机器上运行此命令

mysql的权限分为4级:全局、数据库、表、列。 1、grant grant privileges [

insert [into] table [(column1,column2,column3,...)] values (val

一、语法 select [optioins] items [into file_details] from tables [where conditions] [group by gr

一、语法 update [low_priority] [ignore] tablename set column1=expression1,... [where condition] [order b