开发者社区> 问答> 正文

多表联查更新sql语句如何优化

_2019_05_08_5_05_09

key1:

SELECT a.sid from (select sid from tb_stu where 1=1 ORDER BY id DESC) a INNER join tb_award b on a.sid+0=b.stu_sid+0

key2:

SELECT sid  FROM tb_stu A where exists (select stu_sid as sid from tb_award B where B.stu_sid+0 = A.sid+0 group by B.id) ORDER BY A.id;

这是现在的方案一和方案二,但是实在太慢了。
希望大佬可以提个优化建议。

展开
收起
立青王 2019-05-08 17:23:10 4527 0
3 条回答
写回答
取消 提交回答
  • sql的子查询嵌套很耗时,不走索引的,建议通过join的方式进行查询

    2020-02-28 16:48:52
    赞同 展开评论 打赏
  • sql的子查询嵌套很耗时,不走索引的,建议通过join的方式进行查询

    2020-02-28 16:49:30
    赞同 展开评论 打赏
  • 对于要求全面的结果时,我们需要使用连接操作(LEFT JOIN / RIGHT JOIN / FULL JOIN);
    不要以为使用MySQL的一些连接操作对查询有多么大的改善,核心是索引;
    对被驱动表的join字段添加索引;

    2019-07-17 23:34:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载