MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[495]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(495番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
Re: ストアードプロシージャの効果的な利用法

Date: Sat, 10 Mar 2001 02:42:07 +0900
From: "deml" <who@example.co.jp>


サイトーです。

> ストアードプロシージャについてですが、
> クライアントから処理命令を出し、
> サーバーで実行し、正常終了か否かだけ受け取れば
> ネットワークを流れる情報は、ほんの少しとなり、
> 無駄なデータ転送時間がなくなり、レスポンスが
> 良くなると考えております。
> できるかぎり利用していこうと考えております。
>
> 私の今回のシステムでは、クライアントで大量の帳票を
> 打ち出さなければなりません。どういうことかというと、
> どうしてもサーバーからクライアントに送られる情報量が多くなり、
> ストアードの良さが行かせません。
>
> みなさんは、どのような場合にストアードを利用されるのですか?
>
> クライアントに戻ってくる情報が、
> 少量データの処理って具体的にどのようなものなのでしょうか?
確かに、「ストアドにしてもsql文を発行しても、クライアントが必要と
しているレコード数に変わりはないので」と考えると「何で?」と
考えてしまうかもしれません。私もそうです。

但し、例えば1000レコード得る為の条件を取り出すために、1つのsqlでは
記述出来ないような複雑な条件である様な場合、ADOやsql文を発行して
別のいろいろなテーブルを参照したりするより、まとめてストアドにして
おいた方がクライアントとサーバ間の情報量を少なく出来ますよね?

あと、ネットワークトラフィックの他にも

1.プログラムの更新が楽。
  クライアントのプログラムを修正すると全てのクライアントに配布しなければ
  なりませんが、ストアドならサーバだけでOKです。

2.高速実行
  ストアドは、サーバ側にいわばコンパイルされた状態で保存されているので
  クライアントでsql文を作成して発行するより高速。

3.高性能サーバの活用
  スペックの低いクライアントであってもサーバが十分に高性能であれば、
  その恩恵を受けられる。

まだまだ他にもいろいろとあると思いますが、ケースバイケースですかね。

1.の場合も、変更内容によっては、ストアドとクライアントの両方を同時に
更新しなければならないケースも考えられますし、2.もADOの性能もそこそこ
良いとも聞いておりますし、アドホックなクエリも「コンパイル結果」を
キャッシュしておいて再利用するという機能などもあるそうですから。






[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。