我正在进行连接以从具有大量行的表中获取总和值(一个是6000+而另一个是3000)。我正在使用此查询来创建视图。运行需要4.5秒。我能以任何方式更快更高效吗?
SELECT SUM(ca.mkt_value) AS tot_mkt,
ca.customerid,
c.customerid,
ca.assetid
FROM cust_asset ca
JOIN customers c ON c.customerid=ca.customerid
WHERE assetid = c.port1
OR ca.assetid=c.port2
OR ca.assetid=c.port3
OR ca.assetid=c.port4
OR ca.assetid=c.port5
OR ca.assetid=c.port6
OR ca.assetid=c.port7
OR ca.assetid=c.port8
GROUP BY ca.customerid
ORDER BY ca.customerid, ca.assetid
我知道这很难看并且有更好的方法,但是我整天都在处理代码而且我的思绪已经满了。