› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
Feiox
V2EX  ›  MySQL

MySQL 5.6 中 MyISAM 还有使用价值吗?

  •  
  •   Feiox ·
    iceice · Feb 10, 2014 · 20754 views
    This topic created in 4618 days ago, the information mentioned may be changed or developed.
    感觉 InnoDB 无论在功能还是性能都不输 MyISAM。原来的那些“静态表”“动态表”现在也没有了性能优势。5.6版本的 InnoDB 在写入操作上性能提升明显,那么,MyISAM 还剩下什么优势呢?
    21 replies  •  2017-03-19 15:42:47 +08:00
    kingwkb
        1
    kingwkb  
       Feb 10, 2014
    512M 内存的机器上面禁用innodb,能省出不少内存
    txlty
        2
    txlty  
       Feb 10, 2014
    有人习惯用拷贝数据文件的方式做备份、恢复
    Mac
        3
    Mac  
       Feb 10, 2014
    授权机制?
    gaicitadie
        4
    gaicitadie  
       Feb 10, 2014
    select count(*)
    a2z
        5
    a2z  
       Feb 10, 2014   ❤️ 2
    我用MySQL存放的数据有50亿条。
    innodb引擎的确不错,用来做transaction什么的很合适,log机制保证ACID等等,性能也不差。
    但是到了千万级数据以上就会遇到瓶颈了,千万级数据导入速度比myism慢个10倍,update也比myisam慢。在不需要transaction的情况下用innodb有点浪费。
    myisam在亿级才会遇到瓶颈,目前我处理过的myisam表最大单表7亿多数据,给int栏加索引用了6小时。

    另外就是需要count(*)的时候,innodb不是多就是少……
    a2z
        6
    a2z  
       Feb 10, 2014
    @txlty innodb也可以把表文件单独弄出来的。
    jiangjun
        7
    jiangjun  
       Feb 10, 2014
    我记得 MyISAM 的应用场景之一就是“多读,少写”的场景。InnoDB 在“写”的性能上本来就是优势,优势上再提升也不影响与 MyISAM 的比较吧。
    Feiox
        8
    Feiox  
    OP
       Feb 10, 2014
    @jiangjun 但是 5.6 中 InnoDB 的查询性能提升明显。。似乎和 MyISAM 差距不大(貌似没差距)了。。。5.6中好多老观念都变了,比如 char 和 varchar 类型的字段的性能没区别。。。
    Feiox
        9
    Feiox  
    OP
       Feb 10, 2014
    @kingwkb 能具体说一下 这两种引擎对内存的消耗情况么?
    est
        10
    est  
       Feb 10, 2014
    InnoDB写入比MyISAM慢这个谣言是哪里来的?似乎在php党里见得多。

    btw 5.7里面InnoDB也可以 match 了。
    yemoluo
        11
    yemoluo  
       Feb 10, 2014
    @a2z 导数据的时候要关闭一致性检查..不然百万都会卡久
    fatpa
        12
    fatpa  
       Feb 11, 2014
    @txlty innodb 也是可以拷文件做冷备的,记得拷多个 ibdata(记得是这名字)的索引文件就好了
    VYSE
        13
    VYSE  
       Feb 11, 2014 via Android
    存过20亿条三元row,无论pg还是innodb还是myisam索引都要几百G,大表走io哪家都慢。
    小表测过ndb和myisam和innodb,myisam原子级(如bulk insert)读写的确效率更高,一般场景感觉不出来差异,但有些耗尽一切资源的计算上差异确实存在
    andybest
        14
    andybest  
       Feb 11, 2014
    感觉 MySQL5.6 很美好的样子,如何从 MySQL5.5 InnoDB 平滑迁移至 5.6 InnoDB ?
    davidyin
        15
    davidyin  
       Feb 11, 2014
    插嘴问一下,在没有transaction的情况下,innodb同myisam的效率比较是否会差些?或者从哪个版本的mysql之后,innodb就比myisam更快了?
    est
        16
    est  
       Feb 11, 2014
    @davidyin 没有transaction为毛不用mongodb。
    Feiox
        17
    Feiox  
    OP
       Feb 11, 2014
    @est 有些业务需要事务,有些业务需要速度。。。呃,单机上跑两个数据库太耗资源了吧。至于多机,感觉 Redis + MySQL + MongoDB 是最佳组合。不过还是想知道。。MyISAM 和 InnoDB 到底啥差距?
    likuku
        18
    likuku  
       Feb 11, 2014
    同一台机器,一百多万条而已,只是简单查询+count,用几个where条件,postgresql 只用 innodb 1/10 时长。
    davidyin
        19
    davidyin  
       Feb 11, 2014
    @est 不是想用就用的,程序不支持,就支持mysql而已。
    ivmm
        20
    ivmm  
       Feb 12, 2014
    Mariadb 飘过
    bigyhm
        21
    bigyhm  
       Mar 19, 2017
    @a2z 一般一张表中,我们不会存储那么多的数据。达到千万以上的数据,肯定分到其他表里面了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   967 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 23:51 · PVG 07:51 · LAX 16:51 · JFK 19:51
    ♥ Do have faith in what you're doing.