- - PR -
SQL文をおく場所は?
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2006-04-30 13:39
一つのテーブルに対するSQL文を一つのプロシージャにまとめておいて、ASP.NETで実行するときに引数にデータベースを渡してそのプロシージャを呼び出すようにしています。
ストアドプロシージャとしてSQLserver2000に置いてそれを呼び出すようにする方法もあると聞きました。そのほうが、何か良いことが出てくるのでしょうか。 データベースとWebサーバは同じマシンにインストールしています。 | ||||
|
投稿日時: 2006-04-30 14:59
保守やパフォーマンスですね。 複雑になってくると、T-SQL で組むべき場面も多々あります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-04-30 18:34
じゃんぬねっとさん、ありがとうございます。
一つのプロシージャにまとめて記述したSQL文もSQLserver2000に対して実行しますが、T-SQLとは違ってくるのでしょうか。 プロシージャなので実行時にまとめてコンパイルして実行されずSQL文が一つずつ実行になってしまうのでしょうか。 | ||||
|
投稿日時: 2006-04-30 20:12
http://www.microsoft.com/japan/technet/prodtechnol/sql/2000/books/insidesql1504.mspx こんなん出ました。 _________________ 囚人のジレンマな日々 | ||||
|
投稿日時: 2006-04-30 20:58
このあたりは ADO.NET と合わせて「Prepare」を調べれば良いかな。 それとも、SQL CLR と勘違いしていらっしゃるのかな? (2000 だからそれはないかw) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-04-30 22:25
囚人さん、じゃんぬねっとさん、ありがとうございます。
既にあるプログラムのバージョンアップをしているのですが、ストアドプロシージャを使わず、一つのプロシージャにSQL文をまとめてそれを呼び出す形にしてある理由がどうしても分かりませんでした。 ストアドプロシージャにしてしまうと、何か不都合なことが出てくるのかどうか不安でしたが、メリットのほうが大きいようなので変えてしまおうと思います。 | ||||
|
投稿日時: 2006-05-01 12:48
メリットデメリットはそれぞれあるでしょうね。 プログラムの変更というものは避けられませんが、そのとき、プログラムを入れ替えるだけで済むか、ストアドプロシージャも変更するかで負荷が若干変わるでしょう。それを嫌ったのかもしれませんね。 _________________ 囚人のジレンマな日々 | ||||
|
投稿日時: 2006-05-01 22:37
囚人さん、私はそんなところまで考えが及びませんでした。
アドバイスありがとうございます。 | ||||
1
