クエリについて助けが必要です。タスクは、あるテーブルの行を取得することです。その行の合計は別のテーブルの値になり、その逆も同様です。
例の説明:
Table 1: Table2:
r_id | r_date | r_amt p_id | p_date | p_amt
---------+-------------+-------- ---------+-------------+--------
1 | 2/23/2012 | 200 1 | 3/22/2012 | 450
---------+-------------+-------- ---------+-------------+--------
2 | 3/21/2012 | 100 2 | 5/25/2012 | 530
---------+-------------+-------- ---------+-------------+--------
3 | 4/12/2012 | 300 3 | 5/26/2012 | 700
---------+-------------+-------- ---------+-------------+--------
4 | 4/18/2012 | 250 4 | 5/26/2012 | 40
---------+-------------+-------- ---------+-------------+--------
5 | 5/20/2012 | 130
---------+-------------+--------
6 | 5/21/2012 | 740
---------+-------------+--------
現在、これらのテスト データは、表 1 のいくつかの行が合計されて表 2 の 1 行になり、その逆になるような方法になっています。
1 つのテーブルのレコードの合計が他のテーブルの 1 つの行と等しくなるように、上記のデータを分析するクエリが必要です。
分析が完了すると、このような新しいテーブルにデータがフィードされます。
このテーブルを呼び出しましょうmatch
m_id | tbl1 | tbl2 | match_type
---------+-------------+----------+-----------
1 | 1,4 | 1 | n-1
---------+-------------+----------+-----------
1 | 2,3,5 | 2 | n-1
---------+-------------+----------+-----------
1 | 6 | 3,4 | 1-n
---------+-------------+----------+-----------
現在、各テーブルの合計を計算して一時テーブルに入力し、そのテーブルと比較して上記の結果を取得しています。しかし、10 行を超えると、クエリが非常に遅くなり、開発サーバーがハングします。
Link to my test Queries
このタスクを実行する効率的な方法は何ですか?