zoukankan      html  css  js  c++  java
  • Innodb和MyISAM比较

    Innodb和MyISAM比较

    (1)MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快

    (2)MyISAM不支持事务、外键,InnoDB支持事务和外键

    (3)MyISAM使用的表级锁.,而InnoDB默认使用的行级锁,也可以使用表级锁。如果大量使用select,MyISAM更快;大量使用insert、update、delete使用InnoDB更好。

    (4)MyISAM的主键与辅助索引都使用的非聚集索引,而InnoDB主键索引使用的聚集索引,辅助索引使用的非聚集索引

    (5)InnoDB不支持FULLTEXT类型的索引;

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

    (7)对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引

    Innodb和MyISAM选择

    (1)平台上承载的大部分项目是读多写少的项目,而MyISAM的读性能是比Innodb强不少的。

    (2)My+ISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率就对应提高了不少。能加载更多索引,而Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小。

    (3) 还有就是经常有很多应用部门需要我给他们定期某些表的数据,MyISAM的话很方便,只要发给他们对应那表的frm.MYD,MYI的文件,让他们自己在对应版本的数据库启动就行,而Innodb就需要导出xxx.sql了,因为光给别人文件,受字典数据文件的影响,对方是无法使用的。

    更全面的请访问链接: http://blog.csdn.net/xifeijian/article/details/20316775

  • 相关阅读:
    Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
    练oj时的小技巧(大多都在oj记录里,这是被忘记的部分)
    HDU 3032 (SG打表找规律)
    SG 大法(Sprague-Grundy函数)
    基于Linux的MySQL基本操作
    java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.解决方法
    手把手教你安装和配置MYSQL数据库
    理解Python闭包,这应该是最好的例子
    SQL基础
    MySQL令人咋舌的隐式转换
  • 原文地址:https://www.cnblogs.com/wzyxidian/p/5400407.html
Copyright © 2011-2022 走看看