mysql 多条语句横向连接_mysql 多条sql语句union all 连接优化

explain (SELECT netdev.id,devName,ip,birthdayDate,manufacturer,sendDate,maintenanceDate,build,pp.paraName as ppname,netdev.xh as xhname,'服务器' as type,O.oname FROM netdev left join para as pp on netdev.pp = pp.id left join organize as O on netdev.zzid=O.id where netdev.id)

union all

(SELECT s.id,subName as devName,subIp as ip,birthdayDate,manufacturer,sendDate,maintenanceDate,build,a.paraname as ppname,s.XH as xhname,'控制单元' as type,O.oname FROM subserver s left join para as a on s.PP = a.id left join organize as O on s.zzid=O.id WHERE zzid != '0' )

union all

(SELECT crossing.id,crsName as devName,crsIp as ip,birthdayDate,manufacturer,sendDate,maintenanceDate,build,pp.paraName as ppname,crossing.xh as xhname,'运维节点' as type,O.oname FROM crossing left join para as pp on crossing.pp = pp.id left join organize as O on crossing.zzid=O.id)

union all

(SELECT cam.id,cam.cameraName as devName,cam.ip as ip,birthdayDate,p.paraName as manufacturer,sendDate,maintenanceDate,build,pp.paraName as ppname,cam.xh as xhname,'前端设备' as type,O.oname FROM camera as cam left join para as pp on cam.pp = pp.id left join crossingcamera crs on crs.cameraCode = cam.cameraCode left join para as p on cam.sdk = p.paraValue and p.paraType='manufacturer' left join organize as O on cam.zzid=O.id)

union all

(SELECT R.id,R.name as devName,R.ip,birthdayDate,manufacturer,sendDate,maintenanceDate,build,pp.paraName as ppname,R.xh as xhname,'动环设备' as type,O.oname FROM ringdev as R left join para as pp on R.pp=pp.id left join organize as O on R.oid=O.id)

union all

(SELECT O.id,O.name as devName,O.ip,birthdayDate,manufacturer,sendDate,maintenanceDate,build,pp.paraName as ppname,O.xh as xhname,'其他设备' as type,ORG.oname FROM otherdev as O left join para as pp on O.pp=pp.id left join organize as ORG on O.oid=ORG.id)

limit 0,20

50e26b41bf83a315660dc4cbf0a36c02.png

现在想显示所有设备的信息,因为最初的建表原因(建表非本人操作)... 所以用到union all

但是当某个表的数据达到10w以上查询就变的很慢 这个应该怎么优化?

之前因为问题不完整,可能是我想简单了... 请各位谅解 !!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值