回答編集履歴

3

蛇足追加

2019/06/03 02:28

投稿

hihijiji
hihijiji

スコア4150

test CHANGED
@@ -26,4 +26,38 @@
26
26
 
27
27
  ```
28
28
 
29
- 遅いときは WITH 句を使うといいです。
29
+ ~~遅いときは WITH 句を使うといいです。~~
30
+
31
+ 以下蛇足です。
32
+
33
+ 財務系は古い環境が残っていることが多く、インデックスなども変更できないケースが多々あると存じます。
34
+
35
+ 場合によっては、SELECT句にサブクエリを書くと(キャッシュが効かず)大きくパフォーマンスを落とす可能性があります。
36
+
37
+ そんな時に手軽にキャッシュを効かせやすくする手法の一つとしてWITH句を追加する方法があります。
38
+
39
+ ``` SQL
40
+
41
+ WITH cache AS
42
+
43
+ (
44
+
45
+ SELECT 勘定科目CD
46
+
47
+ ,補助科目CD
48
+
49
+ ,補助科目名
50
+
51
+ ,有効開始日
52
+
53
+ ,有効終了日
54
+
55
+ FROM 補助科目
56
+
57
+ )
58
+
59
+ ```
60
+
61
+ サブクエリの補助科目テーブルの代わりにcacheを使ってください。
62
+
63
+ ただし通常はインデックスが無駄になりますので有害です。

2

訂正

2019/06/03 02:27

投稿

hihijiji
hihijiji

スコア4150

test CHANGED
@@ -26,4 +26,4 @@
26
26
 
27
27
  ```
28
28
 
29
- 遅いときはインラインビューやWITH 句を使うといいです。
29
+ 遅いときは WITH 句を使うといいです。

1

追記

2019/05/31 09:25

投稿

hihijiji
hihijiji

スコア4150

test CHANGED
@@ -26,4 +26,4 @@
26
26
 
27
27
  ```
28
28
 
29
- 遅いときはインラインビューを使うといいです。
29
+ 遅いときはインラインビューやWITH 句を使うといいです。