回答編集履歴

1

補足

2018/08/24 22:55

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -1,3 +1,9 @@
1
+ > ・UPDATE、MERGE、INSERTをする際もINDEXは効いているのでしょうか。
2
+
3
+ > ・UPDATE、MERGE、INSERTの際も処理速度は速くなるのでしょうか。
4
+
5
+
6
+
1
7
  INDEXはWHERE条件やorder by やjoin group byなどで使用され、select だからとかupdateだからというのは関係がありません。
2
8
 
3
9
 
@@ -9,3 +15,19 @@
9
15
  直接関係しているかどうかですが、MERGEでのINSERTが値そのものならdual表を使用したものになっているかは気になります。
10
16
 
11
17
  そもそも、データの状況によっては、MERGEを使用するより、INSERTとUPDATEを使い分ける方が高速な場合だってありますからね。
18
+
19
+
20
+
21
+ > ・INDEXを作成した後処理をコストを確認しても特にINDEX作成前と変化はありませんでしたが、
22
+
23
+ > ヒント句を使用して以下のようにするとINDEXが効きます。なぜですか?
24
+
25
+
26
+
27
+ 統計情報が正しくなかったり、物理的な記憶域の特性やデータ特性を正しく表現できなかった場合、オプティマイザは正しい判断ができず、最適ではない実行計画を立ててしまいます。
28
+
29
+ そこへ最適なものを教えるというのがヒント句ですから。
30
+
31
+
32
+
33
+ [Oracleのオプティマイザとは何か?~ソースコードを書いているエンジニアが語る](https://blogs.oracle.com/oracle4engineer/oracle-v101)