回答編集履歴
3
誤字の修正
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
さらに大幅な速度アップを図るな
|
41
|
+
さらに大幅な速度アップを図るなら name と inserted にもインデックスを設定するぐらいかな。
|
42
42
|
|
43
43
|
|
44
44
|
|
2
補足説明追加
test
CHANGED
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
---
|
46
46
|
|
47
|
-
追記
|
47
|
+
**追記**
|
48
48
|
|
49
49
|
> 結局UPDATE 〜 INになっているのが原因かも知れません。
|
50
50
|
|
@@ -83,3 +83,7 @@
|
|
83
83
|
;
|
84
84
|
|
85
85
|
```
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
あと、INの方もJOINの方も DISTINCT を削除しても同じ結果になりますので、それを削除したSQLも試してみてください。重複排除処理が省略されますので高速化されるかも?
|
1
コメントを受けて追記
test
CHANGED
@@ -39,3 +39,47 @@
|
|
39
39
|
|
40
40
|
|
41
41
|
さらに大幅な速度アップを図るなる name と inserted にもインデックスを設定するぐらいかな。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
---
|
46
|
+
|
47
|
+
追記
|
48
|
+
|
49
|
+
> 結局UPDATE 〜 INになっているのが原因かも知れません。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
UPDATEの方もINNER JOIN に変更してみました。これで改善できればいいのですが。
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
```SQL
|
58
|
+
|
59
|
+
UPDATE master INNER JOIN
|
60
|
+
|
61
|
+
(
|
62
|
+
|
63
|
+
SELECT DISTINCT wlist.ID
|
64
|
+
|
65
|
+
FROM
|
66
|
+
|
67
|
+
web_list AS wlist INNER JOIN tel_list AS tlist
|
68
|
+
|
69
|
+
ON wlist.name = tlist.name
|
70
|
+
|
71
|
+
WHERE
|
72
|
+
|
73
|
+
tlist.inserted > wlist.inserted
|
74
|
+
|
75
|
+
And tlist.inserted <= wlist.inserted + INTERVAL 3 DAY
|
76
|
+
|
77
|
+
) t
|
78
|
+
|
79
|
+
ON master.ID = t.ID
|
80
|
+
|
81
|
+
SET master.flag = 1
|
82
|
+
|
83
|
+
;
|
84
|
+
|
85
|
+
```
|