优化查询响应时间

时间:2016-10-07 06:38:57

标签: mysql performance

我的网络应用程序中有一份实时,可过滤的报告,该报告查询了MySQL中的贷款和贷款支付清单。目标是在表格行中显示每笔贷款,然后在表格列中显示其贷款支付清单,每列表示当天贷款支付的总和。我们还允许用户选择日期范围和聚合级别(每日/每周/每月)。如果用户选择了日常聚合的Sept 1-3,结果将如下所示:

Loan ID |  sept 1  |  sept 2  |  sept 3
---------------------------------------
0001    |  $350    |  $239.45 |  $112
0002    |  $100    |  $0      |  $75

2个数据库表是贷款和付款,其中付款存储贷款ID,日期和每笔付款的金额。

当我们在60天范围内运行此查询时,结果是约45秒的响应时间。然后,我们尝试创建自己的预聚合表,每年366列(贷款ID +每日日期列表示当天的付款总额)。这将响应时间增加到> 60秒。这甚至不包括每周或每月汇总,甚至更慢。

我们怎样才能加快速度呢?我们理想地寻找10-15秒的响应时间,并且我已经尝试了我找不到的每种缓存/索引技术。

1 个答案:

答案 0 :(得分:0)

您应该与业务部门讨论60列表的业务要求或实际应用是什么?

对于Sep1-3示例,结果表看起来很好,但是对于60天的日期范围?谁会看这张桌子?将数周或数月分组会更好吗?

如果贷款数量有限