PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
11205 | 00/05/02 00:33:49 | RE(7):PB5.0.02: 大量データ対象としたdwのレスポンスについて By M.M |
11203 | 00/05/01 20:11:03 | RE(6):PB5.0.02: 大量データ対象としたdwのレスポンスについて By Taka |
11199 | 00/05/01 18:11:23 | RE(5):PB5.0.02: 大量データ対象としたdwのレスポンスについて By ぽー |
11189 | 00/05/01 15:26:44 | RE(4):PB5.0.02: 大量データ対象としたdwのレスポンスについて By M.M |
11187 | 00/05/01 15:15:46 | RE(3):PB5.0.02: 大量データ対象としたdwのレスポンスについて By ぽー |
11178 | 00/05/01 11:38:33 | RE(2):PB5.0.02: 大量データ対象としたdwのレスポンスについて By ぽー |
11177 | 00/05/01 11:21:02 | RE(1):PB5.0.02: 大量データ対象としたdwのレスポンスについて By M.M |
11172 | 00/04/30 20:32:21 | PB5.0.02: 大量データ対象としたdwのレスポンスについて By ぽー |
カテゴリ:PowerBuilderの開発環境
日付:2000年04月30日 20:32 発信者:ぽー
題名:PB5.0.02: 大量データ対象としたdwのレスポンスについて
いつも参考にさせていただいております。今回は長文で失礼します。
以下の条件でdwを作成していますがほとんどフリーズ状態になってしまいます。(CPUの使用が100%のまま)
色々と条件を変えてテストしているのですが一向に解消される気配がありません。
根本的なプログラムの作成方法に誤りがあるのでしょうか?
(過去レスでは、dwを使用しないほうが良いような結論になっていますが・・・)
どなたかお知恵を貸してください。
(1)作成したdw
→賦課データ(約20万件)は月別のデータなので、これを年度ごとの集計を取る為にグループを作成してフッタで
集計値を算出する。
ちなみにdw内で未納額を算出するために同一月の収納データ(約30万件)の集計(計算カラム)と未納額の算出(計算
フィールド)を使用しています。
(2)調査経過
→賦課データを10万件にして実行すると、約5分で処理が終了します。
賦課データが20万件の時に対象データを少なくしようとWHERE句にTBL-A.Aの範囲を記述してみたのですが、
WHERE句の条件が多TBLに渡っているために全件を対象としているのか現象の改善は行われませんでした。(フリー
ズしたまま)
PBの実行されているディスクの空き容量は350MBあります。
※記述例です。
SELECT TBL-A.A,TBL-A.B,TBL-A.C,
TBL-B.D,
nvl(sum(TBL-C.E),0) //収納額の合計
FROM TBL-A,TBL-B,TBL-C
WHERE ( TBL-A.A = TBL-B.A ) AND
( TBL-A.B = TBL-B.B ) AND
( TBL-A.C = TBL-B.C ) AND
( TBL-A.A = TBL-C.A(+)) AND //収納が無い月もあるので
( TBL-A.B = TBL-C.B(+)) AND //
( TBL-A.C = TBL-C.C(+)) AND //
( TBL-B.F >= :XXX) AND // スクリプトから渡された範囲内を対象とします。
( TBL-B.F <= :YYY) AND //
( TBL-C.G(+) = 1 )
GROUP BY TBL-A.A,TBL-A.B,TBL-A.C,TBL-B.D ;
#各TBLのA,B,Cはキー項目です。(内部的には同じデータ)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Oracle SQL*Net 2.1
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.