• mysql 数据库引擎 MyISAM InnoDB 大比拼 区别


    先给上自己的民间说法,官方英文说法还在翻译解读中,稍后跟上



    Mysql 数据库中,最常用的两种引擎是innordb和myisam。Innordb的功能要比myiasm强大很多,但是innordb的性能要比myisam差很多,如果你的网站只是做简单的查询,更新,删除,那么用myiasm是最好的选择。


    测试方法:连续提交10个query, 表记录总数:38万 , 时间单位 s
     
    引擎类型                    Myisam              innordb              性能相差
     count                       0.0008357           3.0163                 3609
     查询主键                 0.005708             0.1574                 27.57
     查询非主键               24.01                  80.37                  3.348
     更新主键                 0.008124             0.8183                100.7
     更新非主键              0.004141            0.02625               6.338
     插入                       0.004188              0.3694                88.21


    结论:
    1. 加了索引以后,对于Myisam查询可以加快:4 206.09733倍,对innordb 查询加快510.72921倍。同时对myisam更新速度减慢为原来的1/2,innordb的更新速度减慢为原来的1/30。大家要看情况决定是否要加索引,比如不查询的log表,不要做任何的索引。
    2. 如果你的数据量是百万级别的,并且没有任何的事务处理,那么用myisam是性能最好的选择。
    3. Innordb的表的大小更加的大,用myisam可以省很多的硬盘空间。
     
    在我们测试的这个38w的表中,表占用空间的情况如下:
    引擎类型                    MyIsam               InnorDB
     数据                       53,924 KB           58,976 KB
     索引                       13,640 KB           21,072 KB
     占用总空间             67,564 KB           80,048 KB
     
    另外一个176W万记录的表, 表占用空间的情况如下:
    引擎类型                MyIsam               InnorDB
     数据                   56,166 KB           90,736 KB
     索引                   67,103 KB           88,848 KB
     占用总空间        123,269 KB         179,584 KB




    一般来说,
    MYisam 适合:
    1. 做很多count 的计算。
    2. 插入不平凡,查询非常频繁。
    3.  没有事务
    innordb 非常适合:
    1. 可靠性要求比较高,或者要求事务。
    2. 表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。
    当然这也不是绝对的。要试验过才知道。
    很多时候,性能瓶颈不是因为服务器配置不好,而是因为SQL不是很好。SQL的性能优化是关键。
    除了这些常见的优化方法,
        还可以考虑 使用内存表。你测试一张myisam 和 内存表,会发现速度差不多。
    其实,在并发比较强的时候,性能会相差大概五倍。我有张经常要查询的IP 地址 和 地区的 对应表,放入内存后。
    以前查询 5000个 IP 地址大概 要 15S, 现在,只要 2S多。
    很多东西,实际测试过才知道。用什么压力测试,测试出来的也不是很准确。


  • 相关阅读:
    GRIDVIEW导出到EXCEL
    数据表示:字节 高位低位
    js学习笔记0
    12奇招,循序删除顽固的文件
    加快开关机速度
    PHP正则表达式的快速学习
    firefox下height不能自动撑开的解决办法
    给MySQL加密(也适用于Wamp5中)
    我的电脑创建资源管理器
    css 圆角7种CSS圆角框解决方案
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6314560.html
Copyright © 2020-2023  润新知