zoukankan      html  css  js  c++  java
  • mysql 存储引擎 myisam innodb 区别

    虽然MySQL里的存储引擎不只是MyISAM与InnoDB这两个,但常用的就是它俩了。可能有站长并未注意过MySQL的存储引擎,其实存储引擎也是数据库设计里的一大重要点,那么博客系统应该使用哪种存储引擎呢?下面我们分别来看两种存储引擎的区别。

    MySQL存储引擎MyISAM与InnoDB的区别

    一、InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。

    二、MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及设计到安全性就高的应用

    三、InnoDB支持外键,MyISAM不支持

    四、MyISAM是默认引擎,InnoDB需要指定

    五、InnoDB不支持FULLTEXT类型的索引

    六、InnoDB中不保存表的行数,如select count(*) from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时MyISAM也需要扫描整个表

    七、对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引

    八、清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表

    九、InnoDB支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like '%lee%'

  • 相关阅读:
    最小乘积(基本型)
    删除数组零元素
    大小写转换
    矩阵乘法
    字串统计
    出现次数最多的整数
    Anagrams问题
    前缀表达式
    2的次幂表示
    POJ
  • 原文地址:https://www.cnblogs.com/timelesszhuang/p/5071541.html
Copyright © 2011-2022 走看看