zoukankan      html  css  js  c++  java
  • MyIsam和Innodb对比

    1.事物支持

      MyIsam引擎不支持事物,Innodb支持事物

    2.锁粒度

      MyIsam支持表锁,Innodb支持行级锁和表锁,行级锁实现的方式是通过对索引加锁.

    3.数据安全性

      MyIsam相较于Innodb数据容易损坏,不容易恢复.

    4.索引

      MyISam主键索引和普通索引相同,都是保存的数据行的指针

      Innodb主键索引是聚簇索引,普通索引则是保存主键索引的值,普通索引查询需要一次额外的书签查找.

    5.外键支持

      MyISam不支持外键约束,Innodb支持外键约束.

    6.分区支持

      MyISam不支持分区,Innodb支持分区.

      一般认为MyISam查询性能高于Innodb是因为,MyISam的索引设计不需要书签查找,节省了一次查询操作,而早期的Innodb对于书签查找相当于随机IO,不能充分利用B+树索引的排序特性和mysql的缓存机制,因而查询比较慢.

    但是Innodb自5.6后支持MRR优化,相当于对于要进行书签查找的数据进行一次排序,转化为了顺序查找,查询的差别已经很小了,因此这种说法不太准确了已经.

      而Innodb的更新性能高于MyIsam则是因为普通索引保存的是主键索引,更新只需要维护主键索引即可,而MyIsam则需要维护所有的索引,当索引越多,MyIsam的更新性能就会越差.

      

  • 相关阅读:
    TP5.1 遇见问题整理
    PDO 基础
    php7 连接 mysql 的两种方式
    [php] 添加接口访问日志(文件)
    curl 向远程服务器传输file文件
    VBoxManage
    linux 系统下安装多个php版本
    vim中文乱码问题
    vim 翻页命令
    php list()函数
  • 原文地址:https://www.cnblogs.com/ironroot/p/7305538.html
Copyright © 2011-2022 走看看