- PR -

ストアドの処理速度について

投稿者投稿内容
もこもこ
常連さん
会議室デビュー日: 2008/05/19
投稿数: 20
投稿日時: 2008-05-21 11:02
七味唐辛子さん。何から何までお世話になります。

>いますぐ知りたいというニーズにはお答えできませんが、下記の本は大変役に立ちます
>すすめる理由はレビューを参考にしてください。

参考にします。ありがとうございます!
もこもこ
常連さん
会議室デビュー日: 2008/05/19
投稿数: 20
投稿日時: 2008-05-21 11:18
saki1208さん。ありがとうございます。

>テスト環境を作成する際には本番環境でエクスポートしたものを
>インポートしていますよね?
しています。

>この場合、各テーブルのフラグメントが解消されていたり、ハイ
>ウォーターマークがクリアされたりすることで、各段にパフォー
>マンスがよくなることがあります。
HWMがクリアされるとパフォーマンスがよくなるんですか!

>統計情報、インデックスのリビルドなど他の方のレスにあるキー
>ワードと同様にパフォーマンスに対しては重要なキーワードにな
>ると思われますので、ググってみることをお勧めします。
ありがとうございます。

ここで進捗をお知らせしておきます。
もうDB系を洗ってもラチがあかなそうなので、本番機サーバーがLinuxという問題について、調査している段階です。LinuxにインストールしてあるOracleの設定が悪いのかもしれないからです。。しかしながら私は本番機Linuxに触る権限など持ち合わせていないのでどうしたらいいものか。

しかしスレッドを立てた以上とにかく答えを出したいと思っています。

もこもこ
常連さん
会議室デビュー日: 2008/05/19
投稿数: 20
投稿日時: 2008-05-21 21:06
解決しました。
単純にSQLを改良に改良を重ねて処理を軽くしました。
一番処理が重かったのは、カーソルからのループの条件をもとに、さらにカーソルをループさせて、という処理を一本にまとめたらかなり早くなりました。
はなからSQLを提示していればこんなに長いスレッドになることも無かったのに。。。
しかし、スレッドに書き込んでくれた皆様の意見はすごく勉強、参考になりました。

皆様お付き合いいただきありがとうございました。

しかし!本当の解決になったのかは疑問です。
結局のところ開発機では早いのに本番機のほうが遅い理由はわからずじまいです。。
しかし、きっと本番機のOracleの設定に答えがあると半信半疑ですが思っています。

この問題と同じような問題に直面した人はこのスレッドに返答してくれた方々の内容で半ば解決するのではないでしょうか。

私の場合は逃げの手を使用しましたが、理由がわかるようなことがあればご提供お願いいたします。
こあら
大ベテラン
会議室デビュー日: 2007/06/26
投稿数: 157
投稿日時: 2008-05-21 21:34
抜粋--
引用:

きっと本番機のOracleの設定に答えがあると半信半疑ですが思っています。
私の場合は逃げの手を使用しましたが、理由がわかるようなことがあればご提供お願いいたします。


より正確に言うなら「開発機と本番機の違いに」答えがあるのでしょう。

原因を突き止めた訳でないのがモヤモヤしますが、
少なくともストアドの出来という点では「逃げ」では無く、
真っ当にチューニングを施せた結果だと思います。

もし(余力があって)原因が解明できたら、ご報告頂けたらなぁなんて思います。
よっしー
大ベテラン
会議室デビュー日: 2007/05/17
投稿数: 143
投稿日時: 2008-05-22 12:34
引用:

もこもこさんの書き込み (2008-05-20 11:01) より:

ループ処理がんがんあるのですが、これはまずいのですか!?
カーソルでSELECTしたものをループさせているのですが・・・
返答お待ちしています。
クスの再構築はためしましたが、駄目でした。。



当然です。1000回ループの中に1000回ループが入っていたら、100万回の処理になります。って書こうと開いたら、もう修正したんですね。。。
もこもこ
常連さん
会議室デビュー日: 2008/05/19
投稿数: 20
投稿日時: 2008-05-22 16:48
こあらさん、何度もありがとうございました。

>より正確に言うなら「開発機と本番機の違いに」答えがあるのでしょう。
 間違いなくあると思います。開発環境は自分等でOracleの設定等行ったのでいいのですが、本番機のほうは他社の方が設定したため勝手にいじったり覗いたりするのも厳禁なので、なかなか;;

>原因を突き止めた訳でないのがモヤモヤしますが、
>少なくともストアドの出来という点では「逃げ」では無く、
>真っ当にチューニングを施せた結果だと思います。
 ありがとうございます。おかげさまで開発機でも20分かかってた処理が20秒で終わるようになりましたw(ぇ
というのも、もともと既存のべた書きSQLをストアドに修正したため、手を付けるのは禁じ手だったのですが、このたび許可がおりたのでここまでスマートにできました!

>もし(余力があって)原因が解明できたら、ご報告頂けたらなぁなんて思います。
当然解り次第報告させていただきます。私が睨んでいるのはストアドがタイムアウトしている気がするので本番機のタイムアウトの設定が短い?みたいなことを思っているのですが、私もその辺はあまり詳しくないのでわかりません。。。
また解り次第報告します!

-------------------------------------------------------------------------------

よっしーさんありがとうございました。

>当然です。1000回ループの中に1000回ループが入っていたら、100万回の処>理になります。って書こうと開いたら、もう修正したんですね。。。
遅い理由の直結にあるのがこれでした!いろいろありがとうございました。

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