teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

修正

2017/10/10 09:17

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -9,5 +9,5 @@
9
9
  追記
10
10
  ---
11
11
  手っ取り早くは、「その他条件」となっているところをコメントアウトして、実行計画を確認してみることです。
12
- それで、性能が改善されるようであれば、SQLを組み直したり、インデックスを追加するなどの手当てが必要なります。
12
+ それで、性能が改善されるようであれば、SQLを組み直したり、インデックスを追加するなどの手当てが必要なります。
13
13
  それ以外では、自己結合が多いので、Lead() over()などを使用することで改善されるかもしれません。

3

追記

2017/10/10 09:17

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -4,4 +4,10 @@
4
4
  テーブルDに対してインデックスは使用されていますが、ROWIDで実テーブルを参照していますので、
5
5
  その部分でコストが掛かっていると思われます。
6
6
  多分インデックスに無い項目に対する条件となっていると思われますので、
7
- その条件も明らかにしてもらえますか。
7
+ その条件も明らかにしてもらえますか。
8
+
9
+ 追記
10
+ ---
11
+ 手っ取り早くは、「その他条件」となっているところをコメントアウトして、実行計画を確認してみることです。
12
+ それで、性能が改善されるようであれば、SQLを組み直したり、インデックスを追加するなどの手当てが必要いなります。
13
+ それ以外では、自己結合が多いので、Lead() over()などを使用することで改善されるかもしれません。

2

修正

2017/10/10 06:30

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,4 +1,7 @@
1
1
  修正
2
2
  ---
3
- テーブルDに対して「その他条件」として割愛されています。
3
+ テーブルA,Dに対して「その他条件」として割愛されています。
4
- テーブルDに対してトが掛かっているのでその条件も明らかにしてもらえますか。
4
+ テーブルDに対してインデックは使用されていますがROWIDで実テーブルを参照してますので、
5
+ その部分でコストが掛かっていると思われます。
6
+ 多分インデックスに無い項目に対する条件となっていると思われますので、
7
+ その条件も明らかにしてもらえますか。

1

修正

2017/10/10 04:12

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,19 +1,4 @@
1
+ 修正
2
+ ---
1
- 多分、t15部分がネックだ思われます。
3
+ テーブルDに対して「そ他条件」して割愛さています。
2
-
3
- その部分を以下に変更したらどうなりますか?
4
-
5
- ```SQL
6
- SELECT
7
- t11.pk1,
8
- t11.pk2,
9
- t11.pk3,
10
- t11.pk4
11
- FROM
12
- テーブルA t11
13
- WHERE
14
- t11.pk1 = 'XX' AND
15
- t11.pk2 = 'YY' AND
16
- t11.pk3 = (
17
- select max(pk3) from テーブルA where pk1=t11.pk1 and pk2=t11.pk2
4
+ テーブルDに対してコストが掛かっているので、その条件も明らかにしてもらえますか。
18
- )
19
- ```