
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
流れ的には以下です。
全体に影響のないところから進めていった方がよいでしょう。
-----
調査
(1)ADDM or STATSPACKで現状を確認。
(2)該当SQLのトレースを取り実行計画を調べる。
-----
対応1
(3)該当SQLを書き換える。
無駄な結合を省く、索引を使用するSQLに修正するなど。
ヒント句などを埋め込む。
(4)統計情報を取得する。
アナライズを行い、最新の統計情報を使用する。
-----
対応2
※他の影響が大きい。
(5)物理構造を変更する。
索引の追加やテーブル構造変更。
※該当SQL以外も参照している可能性があるので注意。
(6)初期化パラメーターを調整する。
(1)と(2)で調査した結果を元にチューニング可能なパラメータを変更
※該当SQL以外にも影響があるので変更には注意。
※自動統計収集など自動系の処理を見直す。
(7)ハードを増強する。
最終手段。メモリ・CPUの増設、高速ハードディスクへの変更など
順番は適宜、入れ替えてください。
個別SQLが速くなっるかどうかはテーブル定義、実SQLと実行計画、データ量などの情報がないと判断できません。
No.2
- 回答日時:
SQL を見直しても改善しない場合、 statspack を取得されてみてはいかがでしょうか。
どこが問題になっているか比較的容易に特定できるようになります。SQL なのか、バッファキャッシュにヒットせず、ディスク読み込みが多発しているのか、CPU 処理が多すぎるのか、メモリが足りないのか、I/O 負荷が高いのか、全体的の遅いのか特定のSQL だけが遅いのか・・・などなど。
> ・SQL見直し
SQL を見直しても改善しない場合と言っているのに「SQL 見直し」はおかし
いですよね。やるのであれば、ヒント句の使用やアウトラインによる、最適
な実行計画の固定化でしょう。バージョンが上がるにつれてオプティマイ
ザも随分賢くはなってきていますが、完全ではありません。
> ・VIEWを使う
> あらかじめ特定のテーブルを結合しておけば速くなる?と思っています
VIEW じゃなくて MVIEW (マテリアライズドビュー) ですよね?
普通の VIEW にしただけでは同じか劣化の要因になります。
> ・ストアドプロシージャーにする
クライアントとのネットワーク処理やAPサーバの負荷に問題があるのであれば効果が上がるでしょうが、そうでなければ逆効果になることもあるので注意。PL/SQL は元々そんなに高速ではないし、DBサーバのリソースを食うことになるので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- SQL Server 大学でSQLの授業があるのですが全くわかりません。 表ではなく文で説明されているのですが調べても理解 6 2022/07/20 02:26
- システム 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:26
- IT・エンジニアリング 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:25
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- デスクトップパソコン 仕事で使うPC 10 2023/04/23 00:27
- 発達障害・ダウン症・自閉症 中学の時にIQ82の境界知能と診断されました。 今の私も、やはり境界知能でしょうか? そしてこれは、 3 2023/02/19 00:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部結合と等価結合のパフォー...
-
エージェントのジョブの遅さ
-
TeXの索引作成に関して
-
あいまい検索のパフォーマンス...
-
ヒント句が無効になります
-
WHERE句はJOIN結合前結合後どち...
-
並び順で処理時間が違うのは?
-
likeとsubstrの使いわけについて
-
処理速度の改善について
-
oracle(SQL)のHINT指定について
-
問題解決のストーリーにて PDCA...
-
キャッシュを使わずにSELECTを...
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
-
SQL(SELECT文)を教えてください
-
今日の日付が入った行のデータ...
-
ストアドプロシジャからストア...
-
【Excel VBA】 WorksheetやRa...
-
Access VBAで行ラベルが定義さ...
-
日付型カラムへのデータINSERT
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キャッシュを使わずにSELECTを...
-
WHERE句の実行順序
-
likeとsubstrの使いわけについて
-
Like文の速度について教えてく...
-
ヒント句が無効になります
-
WHERE句はJOIN結合前結合後どち...
-
問題解決のストーリーにて PDCA...
-
SQL ORDER BYにおける条件について
-
あいまい検索のパフォーマンス...
-
oracleのanalyzeと処理時間につ...
-
外部結合と等価結合のパフォー...
-
アナライズでほとんどの処理が...
-
実行計画HASH JOIN RIGHT OUTER
-
OEMで負荷の少ないSQLの実行計...
-
データ抽出の速度について
-
Oracleで検索すると、フリーズ...
-
PDCAを回すって?
-
INDEX作成による更新系の影響範囲
-
800万件のテーブル読み込み...
-
Analyzeとは?
おすすめ情報