zoukankan      html  css  js  c++  java
  • 多表级联查询分组函数慢问题

    4张表级联查询的结果分组求和:

    select sum(c.quantity) as quantity,sum(c.prefee) as fee
    from  Cs_AccountBill a
    join Cs_AccountBillDetail b on a.id= b.AccountBillId
    join Cs_SettlementDetail c on c.accountBillDetailID = b.id 
    join Cs_Settlement d on c.settlementID = d.id

    While it's about 21W records of the result,time of select is about 31 ms.

    更改如下:

    select c.quantity,c.prefee
    from  Cs_AccountBill a
    join Cs_AccountBillDetail b on a.id= b.AccountBillId
    join Cs_SettlementDetail c on c.accountBillDetailID = b.id 
    join Cs_Settlement d on c.settlementID = d.id
    

      

    查询时间:40ms左右

    再将查询的结果map reduce 大概80+ms

    BigDecimal sum = list.parallelStream().map(Person::getFee).reduce(BigDecimal::add).get();
    
    //勿用list.stream(),慢
    

      

      

  • 相关阅读:
    2016-5-6
    PE文件格式
    CheatEngine-内存修改
    ollydbg教程-动态调试
    IDA教程-静态反编译
    JavaFX常用汇总
    settings.xml样例文件
    Cassandra安装配置
    Linux安装配置相关
    Dom4j-读写xml
  • 原文地址:https://www.cnblogs.com/guchunchao/p/10690698.html
Copyright © 2011-2022 走看看