SELECT * FROM ( (SELECT table1.id1, table1.id1_type AS id1, FROM child AS table2 STRAIGHT_JOIN 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>=0 AND table1.time<=1361936895))) UNION ALL (SELECT table1.id1 AS 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 (два соединения, одно объединение все), и я вижу сильное увеличение задержки после добавления объединений внутри. Я вижу, как на моих машинах растет использование дискового пространства, и мне интересно, не потому ли, что я создаю временные таблицы?
В качестве дополнительного контекста, когда я добавил объединения, я также добавил псевдонимы «table1», «table2», чтобы избежать двусмысленности при выборе столбцов. Я начал замечать, что это использование пространства увеличивается.
Любые предложения о том, почему это добавление или запрос в целом вызывают огромный всплеск хранилища для этих запросов, будут оценены :)
STRAIGHT_JOIN
подразумевает MySQL - person msmucker0527   schedule 14.03.2013