
環境:Oracle9i 9.2.0.1
言語:VB6
システム:受注管理システム
ある業務アプリの性能改善の為、顧客マスタにインデックスを作成したいのですが、更新系の処理が遅くなることを嫌ってなかなか承認が下りないです。
そんなに負荷はかからないと思うのですが、実際インデックスを1つ作成するとどの程度影響があるのか客観的に証明できないから困っています。
上記の業務アプリは毎日使用しています。
データ件数は100万件程度です。
参考までにインデックス作成前のINSERT文実行した実行計画とインデックス作成後のINSERT文実行した実行計画を記述します。
作成前
統計
----------------------------------------------------------
86 recursive calls
26 db block gets
14 consistent gets
29 physical reads
2956 redo size
628 bytes sent via SQL*Net to client
825 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
4 sorts (memory)
0 sorts (disk)
1 rows processed
実行後
統計
----------------------------------------------------------
281 recursive calls
27 db block gets
73 consistent gets
20 physical reads
3044 redo size
633 bytes sent via SQL*Net to client
825 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
7 sorts (memory)
0 sorts (disk)
1 rows processed
そんなに影響がないということを証明したいのですが、上記統計で大したことないと証明できますでしょうか?
No.2ベストアンサー
- 回答日時:
索引に指定するキーの数や更新頻度にもよるでしょうが、1キーや2キー索引くらいでは SQL*Loader 等で大量のデータをロードしたりするような処理がない限り、たかが100万件程度で極端な性能劣化が起こるということはまずありません。
ただし、SELECT 時に作成した索引が効率的に使用されるかどうかも含めて、検証環境などで性能試験をされることを強くお勧めします。
statspack ユーティリティなどもインストールして、ディスク I/O 等にも注目してみてください。
No.1
- 回答日時:
この実行計画の結果からではないのですが、
インデックスの作成前と作成後のSELECTとINSERTの
ベンチマークを実施(もちろんテスト環境で)して
INSERTでの時間差がそれほど無い事、SELECTを実行したときのパフォーマンスの改善したことを提示してみてはいかがでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
キャッシュを使わずにSELECTを...
-
likeとsubstrの使いわけについて
-
WHERE句の実行順序
-
JOINの時のONとWHEREの違いにつ...
-
ヒント句が無効になります
-
WHERE句はJOIN結合前結合後どち...
-
実行計画(EXPLAIN PLAN、AUTOT...
-
実行計画の取得方法について
-
SQL ORDER BYにおける条件について
-
実行計画HASH JOIN RIGHT OUTER
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
-
Access VBAで行ラベルが定義さ...
-
PL/SQLカーソルの2重FORループ...
-
SQLで部分的にGROUP BYしたいとき
-
エクセルVBAでUserFormを起動し...
-
sqlplusでヘッダーが付かない
-
別のスキーマのテーブルアップ...
-
重複するIDのデータを1行にま...
-
sqlplusのspoolで空白行出現
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キャッシュを使わずにSELECTを...
-
WHERE句の実行順序
-
likeとsubstrの使いわけについて
-
ヒント句が無効になります
-
あいまい検索のパフォーマンス...
-
Like文の速度について教えてく...
-
WHERE句はJOIN結合前結合後どち...
-
いつもお世話になってます。
-
パフォーマンスについて
-
問題解決のストーリーにて PDCA...
-
SQL ORDER BYにおける条件について
-
実行計画HASH JOIN RIGHT OUTER
-
計画力をつけるにはどうすれば...
-
表の結合(性能)
-
JOINの時のONとWHEREの違いにつ...
-
アナライズでほとんどの処理が...
-
実行計画の取得方法について
-
実行計画(EXPLAIN PLAN、AUTOT...
-
外部結合と等価結合のパフォー...
-
アナライズとヒント句
おすすめ情報