• 締切済み

select実行時のロックとcommitについて

お世話になっております。 WEB上で検索すると、select実行時にもロックを取得しcommitもしくはrollbackを実施していることがわかりました。 そのことについて数点疑問を持ち調査したのですが、わかりませんでした。 どなたかわかる方ご教示ください。 (1) select発行時にロックを取得しcommitもしくはrollbackするという認識は正しいでしょうか。 (2) 通常SQLに不備が無ければselectは正常に終了すると思いますが、 rollbackするのはどのような状況でしょうか。 selectのSQLに不備があった場合でしょうか。 (3) コンソールからselectを発行するとcommitせずとも結果が出力されます。 このcommitされるタイミングはいつになるのでしょうか。 (4) WITH URオプションを使用するとロックを取得しないと思いますが、 ロックを取得しないということはcommit/rollbackも実施されないという認識は正しいでしょうか。 (5) commitコマンドを発行するとアクティブログに追記されるという認識なのですが、 WITH URオプションなしでselect文を発行してもアクティブログに追記されるものでしょうか。 それともテーブルの更新など実施しないので、アクティブログは更新されないのでしょうか。 (6) WITH URオプションをつけてSELECTを実施した場合はアクティブログは更新されないでしょうか。 (7) EXPORTコマンドを実行した場合も(5)(6)と同様という認識で正しいでしょうか。 以上になります。 よろしくお願いいたします。

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

> WEB上で検索すると、select実行時にもロックを取得し 「DB2 SQL for update」でググると先頭に出ました。 ここのことだったらごめんなさい。

参考URL:
http://www.atmarkit.co.jp/fdb/rensai/rdbmsarc04/rdbmsarc04_2.html
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

何のDB? OracleとかSQLServerとかMySQLとかPostgreSQLとか。

oniku029
質問者

お礼

肝心の情報を記載しておらず、申し訳ございません。 DB2 V9.7になります。

関連するQ&A