ただいまOracleの勉強中でふと気になったので、暇なときにでもお答えくださいませんか。
A と B と二つのテーブルがあって、一方の値で他方を一括更新かけるのに、以下のような SQL を発行したとします。
UPDATE TABLE_A A
SET ( A.COL_1 ) =
(SELECT B.COL_2 FROM TABLE_B B, A WHERE B.COL_KEY = A.COL_KEY)
この場合、A のデータがもし100万件あれば100万回、サブクエリーを実行して UPDATEをかけるといった処理が走ると思いますが、このとき、ロールバックセグメントも100万件分の大きさが必要になるのでしょうか?
そして、もしロールバックセグメントが不足した場合は、全体がロールバックされて何もなかったことになるのでしょうか?
No.1ベストアンサー
- 回答日時:
更新の条件がすべて当てはまるのであれば、100万件のロールバックセグメントが必要になります。
(実際は、もう少しいる)まずひとつ、このSQL文を実行しても必ずしも100万回のサブクエリが走るとはいえません。Oracleのオプティマイザがもう少しいいパスを見つけるでしょう。
それから、先ほども書いたように、条件があわなければ、Updateをかけませんので必ずしも100万件の更新をするわけではありません。
ロールバックセグメントの容量が足りなくなれば、すべてロールバックされますので、何もなかったことになります。(件数によりますが、ものすごく時間はかかると思います)
明快なお答え,ありがとうございます。
オプティマイザがもう少しいいパスを見つけるというのはなるほどと思いました。
ロールバックセグメントの件は了解です。実際、やってみたところロールバックされてしまいました(^^;;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Viewにインデックスは張れ...
-
INDEXの無効化
-
SQL*LoaderとInsertの違いについて
-
アナライズとインデックス作成...
-
テーブル設計時の注意点と理想...
-
データを削除しても表領域の使...
-
Access レコードを追加できませ...
-
検索結果の列数を動的に変更したい
-
datapumpの実行方法について
-
CLOB型へのINSERT
-
oracle SYSTEM01.DBF が大きい
-
viewのバックアップ
-
oracleのプライマリ・キー名の変更
-
SQLでスキーマ名(所有者名)の...
-
表領域(users)の中身を整理したい
-
DELETE文でFROM句を省略した場合
-
select insert 句
-
Data Pump で大量データインポ...
-
DBリンク経由の参照について
-
特定のスキーマのテーブルを一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Viewにインデックスは張れ...
-
INDEXの無効化
-
SQL*Loaderで、データを加工し...
-
アナライズとインデックス作成...
-
可変個数のデータはどう納める?
-
SQL*LoaderとInsertの違いについて
-
主キー以外の項目にNotNull制約...
-
【ANALYZE】 テーブル・インデ...
-
テスト環境と本番環境で、DBか...
-
統計情報について
-
索引の再構築をすべき?
-
文字列中のスペースを排除する...
-
ユニークインデックスについて
-
長年放置しているOracleを…なん...
-
IN 句ではインデックスが使用さ...
-
インデックス作成後アナライズ...
-
Wordで複数の索引を作りたい
-
OracleTextの索引再構築について
-
oracle10g統計情報取得の確認方法
-
データ表示順序
おすすめ情報