使用视图而不是创建等于该视图的结果集的查询

时间:2017-04-09 03:57:58

标签: mysql join view

我有10个查询:TA,TB,...,TJ,每个查询生成如下结果集:

date         Income    AccIncome     
--------------------------------    
2016-10-1     10          10         
2017-11-1     20          30    

我需要对日期列上的TA,...,TJ的结果集执行“JOIN”,这是所有这些查询中唯一相同的日期列。我遇到的问题是如果TA,...,TJ只有两行,这个JOIN操作需要将近40秒。我正在考虑为每个TA使用视图,...,TJ。这可以提高JOIN操作的性能吗?如果是这样,你能说出原因吗?有没有其他方法可以提高此JOIN操作的性能?感谢

解释JOIN QUERY的样子:

设Tx为TA,...,TJ中的任何一个。 Tx有列

 date  Tx.Colx1   Tx.Colx2

JOIN操作如下:

SELECT TA.DATE, TA.COLA1, TA.COLA2, TB.COLB1, TB.COLB2, ... , TJ.COL1, TJ.COL2
FROM (QUERY A) TA
INNER JOIN (QUERY B) TB ON TA.DATE = TB.DATE
INNER JOIN (QUERY C) TC ON TA.DATE = TC.DATE
....
INNER JOIN (QUERY J) TJ ON TA.DATE = TJ.DATE
ORDER BY TA.DATE

这个操作的速度可以提高吗?

0 个答案:

没有答案