- PR -

バッチ処理でSQLを実行。SELECT→一時テーブル?

投稿者投稿内容
Desmo
大ベテラン
会議室デビュー日: 2004/03/24
投稿数: 149
投稿日時: 2005-12-15 15:43
ストアドプロシジャーについて色々書きましたが、私が勘違いしているのかもしれないので追記します。

> 一度テーブルを作成して削除という方法よりはストアドプロシージャを使ったほうが
> 処理的にも早そうな感じがするのですが、そんなことはないのでしょうか?

これは、
「SQL文1発ではできないような複雑な処理を、
 1. (一度テーブルなどを使用して)何回かのSQL文に分けて処理する
 2. ストアドプロシージャで一気に処理する
 のどちらが高速か?」
という意味でしょうか? 何度も出てくる"一度テーブル"ってそういう意味ですか?
だとすると、さっきのコメントはやっぱり的外れだったかも・・・

ところで、この質問に対する答えですが・・・ どちらが良いかの判断は難しいですね。
運用に支障が無い程度の時間で処理できるのであれば、メンテナンスのし易さで判断しれば良いと思います。
take
大ベテラン
会議室デビュー日: 2004/08/13
投稿数: 177
お住まい・勤務地: 沖縄県北部
投稿日時: 2005-12-15 17:57
みなさま、親切なご返答に感謝いたします。

テーブルをいったん作成して削除する方法で問題なさそうですね。

普段はWEBアプリケーションを作成していて、こういうテーブルを
何度も作って何度も削除するような処理に抵抗があったのです。
もしかしたらどっかで失敗しちゃうかも・・・。みたいな。
どちらにしても失敗するときは仕組みの作り方に問題があるわけ
ですから、要らぬ心配だったのかもしれません。

また、ストアドプロシージャに関しては違うプロジェクトで使用
するかもしれないので、今回のご返答で大変参考になりました。

ありがとうございました。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-12-16 07:06
引用:

takeさんの書き込み (2005-12-15 17:57) より:
みなさま、親切なご返答に感謝いたします。
普段はWEBアプリケーションを作成していて、こういうテーブルを
何度も作って何度も削除するような処理に抵抗があったのです。
もしかしたらどっかで失敗しちゃうかも・・・。みたいな。
どちらにしても失敗するときは仕組みの作り方に問題があるわけ
ですから、要らぬ心配だったのかもしれません。


こういった処理事態は珍しいものではありません。大抵のデータベースには一時テーブルを作るための仕組みが用意されていますし・・・。
take
大ベテラン
会議室デビュー日: 2004/08/13
投稿数: 177
お住まい・勤務地: 沖縄県北部
投稿日時: 2005-12-18 05:58
引用:

こういった処理事態は珍しいものではありません。大抵のデータベースには一時テーブルを作るための仕組みが用意されていますし・・・。




そうみたいですね。いい時テーブルを作る機能というのを使う場面は今回が初めて
だったもので、まずそういう機能自体知りませんでした。
またいろいろ勉強してみます。

スキルアップ/キャリアアップ(JOB@IT)