select a,b,c,d from ae left join ap on ae.anomaly_process_id = ap.id join af on ae.anomaly_file_id = af.id or ap.anomaly_file_id = af.id join p on ae.product_id = p.id join d on d.id = ae.device_id join dv on dv.product_id = ae.product_id join mv on dv.management_view_id = mv.id join dvr on dv.id = dvr.device_view_id join au on dv.user_id = au.id join t on t.id = au.tenant_id union all select a,b,c,d from ae left join ap on ae.anomaly_process_id = ap.id join af on ae.anomaly_file_id = af.id or ap.anomaly_file_id = af.id join p on ae.product_id = p.id join d on d.id = ae.device_id join dv on dv.product_id = ae.product_id join au on dv.user_id = au.id join t on t.id = au.tenant_id
每个子查询单独查询速度很快,但是用了 union all 之后速度慢到需要几十秒,数据也就十几万条,请教一下到底从哪里开始优化比较好?是更改表的数据结构减少 join 还是在业务数据库中分开查询两次做合并
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.