美文网首页
mysql的引擎、innodb/Myisam 的区别

mysql的引擎、innodb/Myisam 的区别

作者: HHHHUA | 来源:发表于2018-09-27 23:04 被阅读24次

四种引擎:Memory、MYISAM、DBD、InnoDB、Archive

MyISAM与InnoDB的区别
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。

以下是一些细节和具体实现的差别:

  1. InnoDB不支持FULLTEXT类型的索引

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

  3. 对于AUTO_INCREMENT类型的字段
    InnoDB 中必须包含只有该字段的索引
    MyISAM 表中,可以和其他字段一起建立联合索引。

  4. DELETE FROM table时,InnoDB 不会重新建立表,而是一行一行的删除。

  5. LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,
    解决方法: 把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,
    但是对于使用的额外的InnoDB特性(例如外键)的表不适用。

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

两种类型最主要的差别是:
Innodb支持事务处理与外键和行级锁. 而MyISAM不支持.

相关文章

  • mysql(七)

    MySQL存储引擎-innodb 查看存储引擎 innodb和myisam的物理区别 innodb 核心特性 MV...

  • mysql修改默认引擎为INNODB

    0.为何修改 MySQL5.5之前mysql 默认使用 MyISAM引擎 MyISAM引擎与INNODB的区别In...

  • MYSQL自带数据引擎-MyISAM和InnoDB

    1.Ubuntu安装mysql的系列Mariadb,自带引擎命令 引擎MyISAM和InnoDB区别MyISAM:...

  • 浅谈MySQL分布式事物解决方案

    引言:MySQL存储引擎主要分为InnoDB、MyISAM,它们的主要区别是InnoDB支持事物,而MyISAM不...

  • MySql数据库学习笔记

    MySql分层结构: 1.MySQL中InnoDB与MyISAM的区别: a.InnoDB引擎是MySql的默认引...

  • MySQL学习日记(十一)-技术问答

    一、MySQL主要存储引擎MyISAM和InnoDB的区别? 1、 存储结构 MyISAM:每个MyISAM在磁盘...

  • mysql

    1、Mysql数据库引擎innodb myisam 区别,两种引擎的索引区别,为什么myisam查询快? 2、My...

  • MySQL面试题和答案

    Mysql 的存储引擎,myisam和innodb的区别。答: 1.MyISAM 是非事务的存储引擎,适合用于频繁...

  • 面试题2

    Mysql 的存储引擎,myisam和innodb的区别。答: 1.MyISAM 是非事务的存储引擎,适合用于频繁...

  • 【转】mysql 面试题

    Mysql 的存储引擎,myisam和innodb的区别。 答: 1.MyISAM 是非事务的存储引擎,适合用于频...

网友评论

      本文标题:mysql的引擎、innodb/Myisam 的区别

      本文链接:https://www.haomeiwen.com/subject/lbyyoftx.html