- - PR -
パフォーマンスを求めるならCを使わなければいけないのか
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-08-26 14:17
COBOL や RPG は分からないのですが、 for (int i = 0; i < 1000; i++) { hoge.execute("SELECT * FROM CUSTOMER WHERE CUSTOMER_ID = " + i); } みたいな SQL をレコードごとに発行するのはやめて、レコードセットを一度だけ取得して、レコードごとにフェッチしてくれ、ということではないのでしょうか。 あるいは、DBMS を使わずに ISAM 等でレコードブロック単位でファイルを読み書きしてくれ、なのでしょうか。 [/quote] 逆だと思います。そのようにしか取り出せないと思っているのでは、グループ関数とか UNIONとか知らないのでは、したがって集計処理1行ずつ取り込んで、コードで、 必要な行を選択して、何度もワーク使い倒して出力するもんだと思っているのでは、ないかと | ||||||||
|
投稿日時: 2004-08-26 14:56
Pro* COBOL/Pro* C であってもデータベースのアクセスは
↑のようなことは、まずしないはずです。
とするのが通常です。 #なんか話しがみえづらいのはオレだけ... | ||||||||
|
投稿日時: 2004-08-26 15:03
単純に、「RDBは遅い」という古いおつむの人なのでしょう。
基幹系はIMS-DBみたいな階層型DBやVSAMでないと駄目だと思い込んでいるんでしょう。 古い都銀はおいといて、金融のホストシステムでもCICS+COBOL+DB2の組み合わせは普通のご時世なのに。 DBイコールRDB、SQLという固定概念も駄目だとは思いますけど。 | ||||||||
|
投稿日時: 2004-08-26 15:18
この手の問題を、ふっる〜い人がどのように考えるかと言うとですねぇ。
・ファイルを全件読み込んで処理するなら、SAMファイルをシーケンシャルに 読み込むのが一番処理が速い。 ・SQLなんかでやるといろんな検索条件やら並べ替えやらがあって、ディスクI/Oが 何回も発生するからとんでもなく遅くなるだろう。 ・よってOracleだろうがDB2だろうが1件1件読み込んで処理するのが1番いいのだ! 最近の若いモンはすぐにSQLだのなんだの楽な方向に向かおうとしよる!けしからん!!! てなところですかね。 お客さん、そんなかんじの人じゃありませんでした? [ メッセージ編集済み 編集者: たーぞう 編集日時 2004-08-26 15:23 ] | ||||||||
|
投稿日時: 2004-08-27 08:28
OracleまたはDB2から、SQLを使わずにデータを取り出す方法を知りたい。。。 そりゃぁね、データファイルの構造がわかっていれば、SQLの代わりを自作することで可能なんでしょうけど、どれだけ開発コストが跳ね上がることか。。。 | ||||||||
|
投稿日時: 2004-08-27 08:45
はやぷと申します。
ストアドプロシージャをC言語で書けっていうなら・・・ でもSQL使うなって言うんだから話はまた別か・・。 駄文すみません。 | ||||||||
|
投稿日時: 2004-08-27 13:06
skulkerさんが指摘したように、お客様は単に階層型DB(IMS)とリレーショナルDB(Oracle)をごちゃ混ぜにしているんだと思います。階層型DBの場合は、ジョイン操作は必要なく、ツリー構造をトラバース(ノード間を渡り歩く)ことで、レコードを取得していきます。アメリカではすでにJava,RDBにリプレースされていると聞きますが、日本の金融界はまだまだIMSが生き残っているのでしょうか?
| ||||||||
|
投稿日時: 2004-08-28 01:07
たぶん、そのお客さんは、過去にオフコンのシステムを
C/S系に乗せ換えてもらったのだと思います。 その時に体感したのは、C/Sの方が遅いということだ と思います。 で、オフコンのようにISAMアクセスをCでしなければ、 オフコン並の速度は出せないという結論に到ったのでしょう。 最後のオフコンのようにISAMアクセスとCってのは その人の考えが、偏っている為かもしれません。 が・・・C/Sの方が遅いというのは、DB+SQLでも あながち間違いではないようです。(私がすこしだけ調べた 限りです、また言語による速度はこの場合影響が少なすぎる ので無視です。) 何故、そういう結論なのかは、以下のサイトの、C/Sの 真実1998年版を読んでください。 http://www2p.biglobe.ne.jp/~sakurait/index.htm 読めば、如何に私たちの考えがまだまだ浅いかってのが 思い知らされます。 ここまでやって、お客さんに説明して、初めて”さすが プロだ!”と納得してくれるのかもしれません。 (惜しいのは、このサイト更新がとまってるのよね また、汎用機やオフコン系の人のサイトって、かなり 参考になりますね) |