ちょっとSE的な話
本日2回目です。
パソコン嫌いの私が何故こんな時間にパソコンを起動しているかと
いうと。。。。
実は設計で悩んでます。自宅で仕事です・・・・
ま、簡単にここで愚痴のような悩みを書いてみます。
1、まず、Aテーブルから対象Dataを取得します。
2、次にBテーブルからAテーブルで取得した条件を元にData取得します。
ここでは1つのAテーブルからのDataで最大5回SQLを発行します。
ここで厄介なのがPrimary Keyで検索出来ないため下記の結果に
なります。
1件取得:対象カラムのDataを取得
複数件取得:決められた条件を満たすカラムのDataを取得
0件取得:デフォルト値を使用
3、上記で取得したDataを元にCテーブルにアクセス。
ここではフラグを取得します。
フラグをY、NとしNフラグをもつDataが取得できた場合、さらに
DテーブルをアクセスしDataを取得します。
4、上記でそろったDataをAテーブルにINSERTします。
こんな解りにくい内容で何書いてんだなんて思うかも知れませんが、
悩みはレスポンスです。
条件はAテーブルから取得される最大件数が16万件ということです。
そうなると1で一回のSQLを発行、次に2で最大80万回のSQLを発行、
3で16万回+最大16万回、4で16万回のSQL発行。
計:128万回のSQL発行回数を30分以内で流すという条件です。
きっとC#で作成する場合、マシンスペックによるが30分を切るのは難しい
と頭を抱えている状態です。_| ̄|○ハァー
やはりPL/SQLを使ったほうがよさそうな。。。。
一括でSQLを投げれないものかと。眠れん・・・・・