- 締切済み
INSERT分の処理速度がトランザクションを開始している時の方が速い
SQLServerについて質問させていただきます。 ・トランザクションを開始せずにINSERT文を発行した場合 ・トランザクションを開始してINSERT文を発行した場合 上記の2ケースでは、まったく同じINSERT文でも 開始して発行したほうが 処理が速いという状況になっています。 (Management Stadioで発行) SQL Server Profiler にて確認して、処理時間、CPUの使用時間ともに明らかな差があります。 トランザクションを開始してる状況の方がINSERT文は速い、というのはなにか設定で変えられるのでしょうか?それとも仕組みとして当然そういったものなのでしょうか?(コミットするまでは物理的に書き込まないから、などの理由で) 判断が付かず、非常に困っています。そういう仕組みであるというならば、そういう想定でプログラムを修正するのですが、根拠がわからず、修正に入ってよいかどうか困っています。 本当に困っておりますので、どんな手がかりでもよいのでお教えいただけたらと思います。宜しく御願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- PED02744
- ベストアンサー率40% (157/390)
回答No.1
私は、SQLServerを知らないので、正しい答えかどうかわかりませんが、 トランザクションなしにINSERT句が発行できるわけがないと思うのですが(^_^;) INSERT句だけを実施すると、暗黙のトランザクション開始-終了命令がINSERT句前後に発行されるため、 その分遅くなるというのが答えではないでしょうか。