選択する *
から (
(select table1.id1, table1.id1_type AS id1,
FROM child AS table2 STRAIGHT_JOIN 親 AS table1 ON table1.id1=table2.id1
AND table1.id2=table2.id2
AND table1.time=table2.time
WHERE table1.id1=123456
AND ((table1.time>=0
AND table1.time<=1361936895)))
ユニオンオール
(table1.id1 を id1、table1.id1_type として選択
FROM child AS table2 STRAIGHT_JOIN step_parent AS table1 ON table1.id1=table2.id1
AND table1.id2=table2.id2
AND table1.time=table2.time
WHERE table1.id1=123456
AND table1.time<=1361936895)))) AS T
WHERE id1_type NOT IN (15)
ORDER BY time DESC LIMIT 2000
次の sql クエリ (2 つの結合、1 つのユニオンすべて) を使用していますが、内部に結合を追加した後、レイテンシが大幅に増加しています。マシンのストレージ スペースの使用量が急激に増加しているのを確認できますが、これは一時テーブルを作成しているからでしょうか?
追加のコンテキストとして、結合を追加したときに「table1」、「table2」エイリアスも追加して、列を選択する際のあいまいさを回避できるようにしました。これらのスペース使用量が増加するのを見始めました。
この追加、またはクエリ全体がこれらのクエリで巨大なストレージスパイクを引き起こしている理由についての提案をいただければ幸いです:)