回答編集履歴

3

推敲

2019/05/15 00:24

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -30,4 +30,4 @@
30
30
 
31
31
 
32
32
 
33
- 質問のSQL中で`BASE2`部分の実行計画を確認し、使用されているインデックスに**[DTP_POINTS_BASIC]**を追加するか、新たに**[DTP_POINTS]**を**[DTP_POINTS_BASIC]**に置き換えたものを追加すれば、改善されるものと思われます。
33
+ 質問のSQL中で`BASE2`部分の実行計画を確認し、使用されているインデックスに**[DTP_POINTS_BASIC]**を追加するか、新たに**[DTP_POINTS]**を**[DTP_POINTS_BASIC]**に置き換えたインデックスを追加すれば、改善されるものと思われます。

2

推敲

2019/05/15 00:24

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- ここが本当の相違ですね。
25
+ ここが本当の相違ですね。
26
26
 
27
27
 
28
28
 

1

追記

2019/05/15 00:23

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -1,3 +1,33 @@
1
1
  追加した条件の項目がインデックスに含まれていないからだと思われます。
2
2
 
3
3
  実行計画で確認されると良いと思います。
4
+
5
+
6
+
7
+ 追記
8
+
9
+ --
10
+
11
+ 質問に追記があったので。**※質問の内容からSQLServerだと推測しますが、DBMSは明記して下さい。**
12
+
13
+
14
+
15
+ > 条件を置き換えて
16
+
17
+
18
+
19
+ 条件は何も変わっていなくて
20
+
21
+ > 違いは指定した列の違いになります。指定列が[DTP_POINTS]と [DTP_POINTS_BASIC] だけが以下のコードで異なります。
22
+
23
+
24
+
25
+ ここが本当の相違店ですね。
26
+
27
+
28
+
29
+ select の項目を変更または追加してレスポンスが悪くなっているという事で、インデックスのみで処理が行われていたものが、追加・変更された項目がインデックスに含まれない為に、実表を参照する必要が発生しているものと思われます。
30
+
31
+
32
+
33
+ 質問のSQL中で`BASE2`部分の実行計画を確認し、使用されているインデックスに**[DTP_POINTS_BASIC]**を追加するか、新たに**[DTP_POINTS]**を**[DTP_POINTS_BASIC]**に置き換えたものを追加すれば、改善されるものと思われます。