• Mysql存储引擎MyIsAM和InnoDB区别


    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要扫描一遍整个表来计算有多少行。

  • 相关阅读:
    JZ-C-01
    C/C++学习笔记
    15、排序:选择类排序和归并排序
    玩转Spring——Spring事务
    玩转Spring——Spring整合JDBC
    玩转Spring——Spring AOP
    玩转Spring——Spring IOC/DI
    Java算法——递归思想
    Java排序算法——堆排序
    Java排序算法——归并排序
  • 原文地址:https://www.cnblogs.com/loren-Yang/p/7577262.html
Copyright © 2020-2023  润新知