BUG解决了没 2023-01-09 10:51 采纳率: 44.4%
浏览 40

sql查询优化UNION ALL

mysql 像这种查询语句 有没有办法在进行优化 现在查有点慢


SELECT
    id,
    NAME,
    sex 
FROM
    (
    SELECT
        a.id AS id,
        a.NAME AS NAME,
        a.sex AS sex 
    FROM
        USER us
        INNER JOIN roes rs ON us.id = rs.id 
    WHERE
        us.aa = 0 UNION ALL
    SELECT
        b.id AS id,
        b.NAME AS NAME,
        b.sex AS sex 
    FROM
        cbd b
        INNER JOIN roes rs ON b.id = rs.id 
    WHERE
        b.aa = 0 UNION ALL
    SELECT
        c.id AS id,
        c.NAME AS NAME,
        c.sex AS sex 
    FROM
        school sc
        INNER JOIN roes rs ON sc.id = rs.id 
    WHERE
    sc.aa = 0 
    ) a;
  • 写回答

5条回答 默认 最新

  • 於黾 2023-01-09 10:56
    关注

    既然本来就是3次单独的查询合并在一起,你这union all本身已经没有任何可以优化的地方了
    查询慢就加索引啊

    评论

报告相同问题?

问题事件

  • 创建了问题 1月9日