zoukankan      html  css  js  c++  java
  • tokudb-进销存报表

    情景 :进销存报表的数据晚上的计划任务没有跑完(以往是凌晨1-3就能跑完),白天业务期间数据库cpu出现性能瓶颈,定位是进销存报表高并发的insert&select
     
    针对相应的insert和select语句,可以优化的方面:
    数据库这边我们排查了,发现两个问题并给了两个优化建议
    1.单条insert插入,改成批量插入,性能提升非常明显; //减少commit的次数,从而减少insert时间
    2.单条wahouseid和skuid查询,改成批量查询) // 租户的数据量本身会很大,一旦where条件的笛卡尔乘积过大,就会导致IO吃不消,cpu也会飙升
    根本原因:
    1.表的数据量较大(超过2/3的表的数据量都超过100w)
    2.数据表的数量:差不多650张分表
    3.我们对该库的一半的数据做了engine=tokudb的修改
     
    优劣体现:
    tokudb引擎相比较于innnodb有比较好的压缩比,insert速度能有相应的提升,但是select查询会比较慢,需要修改一个参数
    设置 loose_tokudb_buffer_pool_ratio 的比例,即 tokudb 占用 tokudb 和 innodb 共用缓存的比例(根据库中使用引擎的数据表的数量来比较)
     
    分析总结:
    tokudb虽然能节省不少的磁盘空间,但是后续若大批量的修改tokudb的引擎,需要修改该参数loose_tokudb_buffer_pool_ratio 并重启数据库。
     
     
  • 相关阅读:
    第八周作业。
    作业。
    第七周作业。
    作业。
    Android简易计算器
    Android第四周
    java6.12
    java5.29
    java5.28
    java5.22
  • 原文地址:https://www.cnblogs.com/Kid-Zhou/p/9213035.html
Copyright © 2011-2022 走看看