zoukankan      html  css  js  c++  java
  • MySQL中InnoDB和MyISAM两个存储引擎的区别

    InnoDB和MyISAM区别
    1、InnoDB支持事务,MyISAM不支持事务,事务是一种高级的处理方式,如在一些列增删改中只要那个出错还可以回滚还原,而MyISAM不可以;
    2、MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性高的应用;
    3、InnoDB支持外键,MyISAM不支持;
    4、从MySQL5.5.5以后,InnoDB是默认引擎;
    5、InnoDB不支持全文索引;
    6、InnoDB不保存表的的行数,但是MyISAM只要简单的读出保存好的行数即可,当count语句包含where条件时MyISAM也需要扫描全表;
    7、对于自增长的字段,InnoDB中必须包含该字段的索引,但在MyISAM表中可以和其他字段一起建立联合索引;
    8、清空整个表时,InnoDB是一行一行的删除,效率非常慢,MyISAM会重建表;
    9、InnoDB支持行锁,某些情况下还是会锁整个表update table set a=1 where user like '%lee%'
    10、InnoDB和MyISAM都是B+树,但是它们的实现有点不一样,InnoDB是必须有主键的,主键建议用自增的id而不用uuid,用uuid会使索引变慢。InnoDB是聚簇索引(叶子节点存数据),MyISAM是非聚簇索引(叶子结点存指针)
     
  • 相关阅读:
    Linux里的2>&1究竟是什么
    表锁操作
    日志rsyslog
    计划任务at cron
    rpm包管理和源码包管理
    自建yum源(只演示nginx服务,其它都一样)
    软件包管理yum
    文件打包及压缩
    查找文件which locate find
    lsof恢复进程打开的文件
  • 原文地址:https://www.cnblogs.com/cexm/p/13435602.html
Copyright © 2011-2022 走看看