2016-10-07 15 views
0

MySQLのローンやローン支払いのリストを照会している私のWebアプリケーションで、フィルタリング可能なライブレポートがあります。目標は、各ローンをテーブル行に表示し、ローン支払いの一覧をテーブルの列に表示して、それぞれがその日のローン支払いの合計を表すようにすることです。ユーザーは、日付範囲と集計レベル(日/週/月)を選択することもできます。ユーザーが毎日集計で9月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

限られている場合は、あなたの質問を更新し、ビジネス要件や60列を持つテーブルの実用的なアプリケーションは何ですかビジネスと話し合う必要があります – scaisEdge

+0

あなたのテーブルのスキーマを示して? 結果の表はSep1-3の例では問題なく表示されますが、60日間の日付範囲で表示されますか?誰がこの表を見ますか?特定のローンの支払いを複数行レポートとして印刷することができます.60日以内に誰かがローンを支払った場合に表示できますか?これらの結果は、実際のユーザーが容易に準備して読むことができます。 –

答えて

0

ビジネス要件や60列のテーブルの実用的なアプリケーションについて、ビジネスと話し合う必要がありますか?

結果の表はSep1-3の例では問題なく表示されますが、60日間の日付範囲で表示されますか?誰がこの表を見ますか?数週間または数か月でグループ化する方がよいでしょうか?

ローンの数は

関連する問題