优化多连接sql

jogvjijk  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(333)

我需要将一个表(表a)中的所有列连接到另两个表(b&c)中的单个列。我的sql可以工作,但是速度很慢。问题来自于加入a和c。我研究过优化,但没有找到任何加速的方法。不幸的是,我不能改变table的设计。

SELECT tableA.*, 
       tableB.user_email,
       tableC.transaction_number 
FROM tableA 
LEFT OUTER JOIN tableB 
   ON tableA.user_id=tableB.id 
LEFT OUTER JOIN tableC 
   ON tableA.user_id=tableC.user_id 
   AND A.timestamp=C.timestamp 
ORDER BY A.timestamp DESC;

谢谢你的真知灼见!

0x6upsns

0x6upsns1#

对于您的查询,您需要索引 tableB(id, user_email) 以及 tableC(user_id, timestamp, transaction_number) 以及 tableA(timestamp, user_id) .
我不知道你能不能做得更好。

相关问题