前提・実現したいこと
SQL と OracleDB 初学者です。
仕事でSQLを扱うことになり学習を始めました。
TEST環境でTableの作成、データの更新(Update)を行っているのですが、
Update処理にとにかく時間がかかり困っています。
処理について指摘ありましたらお願いいたします。
発生している問題・エラーメッセージ
Update処理が遅い(3000行更新に5分程度かかる)
該当のソースコード
SQL
1--本番環境からテーブルをコピー 2CREATE TABLE TEMP_A_Table NOLOGGING PARALLEL 3 AS SELECT * FROM A_Table@[本番環境] 4/ 5--B TableのAns列を更新 6UPDATE B_Table B 7set B_Table.Ans = 8( 9 select A.Price 10 from TEMP_A_Table A 11 where B.Date >= A.Start_Date 12 and B.Date <= A.End_Date 13 and B.No = A.No 14 and B.Code = A.Code 15 and B.ID = A.ID 16) 17where B.Place = 'JPN'
試したこと
➀本番環境のDBが物理的に遠かったため参照用のTable Aを
テスト環境のサーバにコピーしました。
➁indexの作成(ユニークキー:B.Unique_no で作成、
whereの条件にユニークキーは無し)
補足情報(FW/ツールのバージョンなど)
使用ツール:PL/SQL developer , OracleDB 12c
もしSQLかOracleに初めて触る人におすすめの書籍等ありましたらお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/18 00:26