C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DBのコストについて


(過去ログ 118 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■69431 / inTopicNo.1)  DBのコストについて
  
□投稿者/ VB初心者 (2回)-(2013/12/26(Thu) 16:28:45)

分類:[Windows 全般] 

ある1件のデータを更新もしくは追加する場合のSQLSeverについての質問です。

@デリートインサート

Aセレクトで存在チェックを行ったあと、インサートorアップデート

上記@とAだとどちらのほうがコストがかかるのでしょうか?

初歩的な質問で申し訳ないです。
件数が増えた場合は@の方が早いのはわかるのですが、少数件の場合はどうなのか知りたいのでご教授願います。
引用返信 編集キー/
■69432 / inTopicNo.2)  Re[1]: DBのコストについて
□投稿者/ 魔界の仮面弁士 (476回)-(2013/12/26(Thu) 16:37:44)
No69431 (VB初心者 さん) に返信
> ある1件のデータを更新もしくは追加する場合のSQLSeverについての質問です。

UPDATE 時の戻り値で「影響を受けた件数」を見て、それが 0 件なら INSERT 。
( .NET なら ExecuteNonQuery、T-SQL なら @@ROWCOUNT とか)


あるいは MERGE 構文とか。
http://msdn.microsoft.com/ja-jp/library/bb510625.aspx
引用返信 編集キー/
■69436 / inTopicNo.3)  Re[2]: DBのコストについて
□投稿者/ VB初心者 (3回)-(2013/12/26(Thu) 17:42:01)
2014/01/06(Mon) 14:33:42 編集(投稿者)

No69432 (魔界の仮面弁士 さん) に返信
> ■No69431 (VB初心者 さん) に返信
>>ある1件のデータを更新もしくは追加する場合のSQLSeverについての質問です。
>
> UPDATE 時の戻り値で「影響を受けた件数」を見て、それが 0 件なら INSERT 。
> ( .NET なら ExecuteNonQuery、T-SQL なら @@ROWCOUNT とか)
>
>
> あるいは MERGE 構文とか。
> http://msdn.microsoft.com/ja-jp/library/bb510625.aspx

ご回答ありがとうございます。
UPDATEの戻り値で判定するという発想はありませんでした!

MERGEなるものもあるのですね、勉強になります!

解決済みにしていなかったので編集しておきます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -