dポイントプレゼントキャンペーン実施中!

SQLServerについて質問させていただきます。

・トランザクションを開始せずにINSERT文を発行した場合
・トランザクションを開始してINSERT文を発行した場合

上記の2ケースでは、まったく同じINSERT文でも
開始して発行したほうが
処理が速いという状況になっています。
(Management Stadioで発行)

SQL Server Profiler にて確認して、処理時間、CPUの使用時間ともに明らかな差があります。

トランザクションを開始してる状況の方がINSERT文は速い、というのはなにか設定で変えられるのでしょうか?それとも仕組みとして当然そういったものなのでしょうか?(コミットするまでは物理的に書き込まないから、などの理由で)

判断が付かず、非常に困っています。そういう仕組みであるというならば、そういう想定でプログラムを修正するのですが、根拠がわからず、修正に入ってよいかどうか困っています。

本当に困っておりますので、どんな手がかりでもよいのでお教えいただけたらと思います。宜しく御願いいたします。

A 回答 (1件)

私は、SQLServerを知らないので、正しい答えかどうかわかりませんが、


トランザクションなしにINSERT句が発行できるわけがないと思うのですが(^_^;)
INSERT句だけを実施すると、暗黙のトランザクション開始-終了命令がINSERT句前後に発行されるため、
その分遅くなるというのが答えではないでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!