回答編集履歴
1
補足
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)
|