Mysql 数据库中,最常用的两种引擎是innordb 和myisam。InnoDB 是Mysql 的默认存储引擎。

两者的区别:

1.事务处理上方面
MyISAM:强调的是性能,查询的速度比InnoDB 类型更快,但是不提供事务支持。
InnoDB:提供事务支持。

2.外键
MyISAM:不支持外键,

InnoDB:支持外键。

3.锁
MyISAM:只支持表级锁,

InnoDB:支持行级锁和表级锁,默认是行级锁,行锁大幅度提高了多用户并发操作的性能。innodb 比较适合于插入和更新操作比较多的情况,
而myisam 则适合用于频繁查询的情况。另外,InnoDB 表的行锁也不是绝对的,如果在执行一个SQL 语句时,MySQL 不能确定要扫描的范围,InnoDB 表同样会锁全表,
例如:update table set num=1 where name like “%aaa%”。

4.全文索引
MyISAM:支持全文索引,

InnoDB:不支持全文索引。innodb 从mysql5.6 版本开始提供对全文索引的支持。

5.表主键
MyISAM:允许没有主键的表存在。
InnoDB:如果没有设定主键,就会自动生成一个6字节的主键(用户不可见)。

6. 表的具体行数
MyISAM:select count(*) from table,MyISAM 只要简单的读出保存好的行数。因为MyISAM 内置了一个计数器,count(*)时它直接从计数器中读。
InnoDB:不保存表的具体行数,也就是说,执行select count(*) from table 时,InnoDB要扫描一遍整个表来计算有多少行。

Mysql存储引擎MyIsAM和InnoDB区别的更多相关文章

  1. MySQL存储引擎MyISAM与InnoDB区别总结整理

    在MySQL的 可重复读隔离级别 中,是解决了幻读的读问题的. 1. MySQL默认存储引擎的变迁 在MySQL 5.5之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默 ...

  2. 170309、MySQL存储引擎MyISAM与InnoDB区别总结整理

    1.MySQL默认存储引擎的变迁 在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB. 2.MyISAM与InnoDB存 ...

  3. MySQL存储引擎MyISAM与InnoDB区别

    简单的表达.  MyISAM 是非事务的存储引擎.  innodb是支持事务的存储引擎.    innodb的引擎比较适合于插入和更新操作比较多的应用  而MyISAM 则适合用于频繁查询的应用    ...

  4. 170614、MySQL存储引擎-MyISAM与InnoDB区别

    MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理 ...

  5. MySQL存储引擎——MyISAM与InnoDB区别

    注:本文来自:https://blog.csdn.net/xifeijian/article/details/20316775 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型, ...

  6. MySQL存储引擎 - Myisam和Innodb

    Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比   MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件.第一个 文件的名字以表的名字开始 ...

  7. MySQL存储引擎MyISAM与InnoDB

    一. MySQL存储引擎MyISAM与InnoDB如何选择 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).B ...

  8. MySQL存储引擎MyISAM和InnoDB,索引结构优缺点

    MySQL存储引擎MyISAM和InnoDB底层索引结构 深入理解MySQL索引底层数据结构与算法 (各种索引结构优缺点) Myisam和Innodb索引实现的不同(存储结构) 存储引擎作用于什么对象 ...

  9. MySql中存储引擎MyISAM与InnoDB区别于选择

    InnoDB: 支持事务处理等 不加锁读取 支持外键 支持行锁 不支持FULLTEXT类型的索引 不保存表的具体行数,扫描表来计算有多少行 DELETE 表时,是一行一行的删除 InnoDB 把数据和 ...

  10. MySQL存储引擎MyISAM与InnoDB的区别比较

    使用MySQL当然会接触到MySQL的存储引擎,在新建数据库和新建数据表的时候都会看到. MySQL默认的存储引擎是MyISAM,其他常用的就是InnoDB了. 至于到底用哪种存储引擎比较好?这个问题 ...

随机推荐

  1. Collectors.toMap的暗坑与避免方式

    使用Java的stream中的Collectors可以很方便地做容器间的转换,可以少写很多代码.但是其中有暗含的坑需要注意和避免,本文探讨Collectors.toMap(JDK8版本). Colle ...

  2. DNS子域委派配置·

    实验介绍:DNS子域委派的作用 子域即为主域下的一个子域名,当一个子域的流量过大时,主域的DNS服务器可以把一个子域的查询授权给一台专门的子域服务器 注意被委派的服务器必须是委派服务器的子域服务器. ...

  3. Hadoop-大数据组件版本号查看

    1.操作系统 cat  /etc/redhat-release ; 2.JDK java -version 3.SCALA scala --version 4.MySQL mysql --versio ...

  4. Windows终端的一些配置

    前言 记录早前拿到新的笔记本(win10)后配置命令行的过程,以下是环境: 命令行 : CMD,PowerShell7 Shell :Windows Terminal 设置编码格式(当前代码页)为UT ...

  5. 开源.NetCore通用工具库Xmtool使用连载 - 随机值篇

    [Github源码] <上一篇> 详细介绍了Xmtool工具库中的散列算法类库,今天我们继续为大家介绍其中的随机值类库. 基于系统提供的Random获取随机值方法已经足够简单和易用,本类库 ...

  6. nginx 配置mp4文件播放

    nginx 配置mp4文件播放 ​ 由于工作需要一个离线的视频播放地址,就想简单一点直接把视频文件放到nginx里面实现视频播放,但是把mp4文件放上去之后地址栏输入地址直接就是下载文件,这跟我想象的 ...

  7. JS Leetcode 220. 存在重复元素 III 题解分析,暴力解法与桶排序

    壹 ❀ 引 今天的题目来自LeetCode 220. 存在重复元素 III,难度中等,题目描述如下: 给你一个整数数组 nums 和两个整数 k 和 t .请你判断是否存在 两个不同下标 i 和 j, ...

  8. BasicSample项目说明

    整个示例项目,两个Fragment,ProductListFragment和ProductFragment,一个MainActivity.在MainActivity里面展示的是ProductListF ...

  9. Elasticsearch, Kibana安装

    Centos7 安装Elasticsearch 安装 因为ES启动不能用root账号,手工安装配置较繁琐,故直接用rpm进行安装.根据官网的6.8安装提示 rpm --import https://a ...

  10. 使用marquee标签实现文字滚动

    代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...