SQL查询优化问题,小可愚钝,脑瓜子想破了也没想到,求救~
感谢各位查看此贴的哥哥姐姐,具体情况如下:
[解决办法]
t_a,t_b的field1,field2,field3建复合索引就行了,这样速度很快
[解决办法]
临时表的数据是什么产生的?我看应该只需要一个临时表就够了
[解决办法]
把语句改成这样试试,在inner join之间加一个hash:
UPDATE t_a
SET t_a.field4 = t_b.field4, t_a.field5 = t_b.field5
FROM t_a INNER hash JOIN t_b
ON t_a.field1 = t_b.field1 AND t_a.field2 = t_b.field2 AND t_a.field3 = t_b.field3
[解决办法]
得想办法在逻辑上把12亿降下去
[解决办法]
大数据量hash join是一个很好的关联算法,但是要研究为什么优化器一开始没用这个算法
[解决办法]
临时表上可以建索引,在2个表关联的字段上建索引试试.