耗时3天,上亿数据如何做到秒级查询?

举报
格图洛书 发表于 2021/11/19 01:43:09 2021/11/19
【摘要】 最近在忙着优化集团公司的一个报表。优化完成后,报表查询速度由从半小时以上(甚至查不出)到秒查的质变。从修改 SQL 查询语句逻辑到决定创建存储过程实现,花了我 3 天多的时间,在此总结一下,希望对朋友们有帮助。   数据背景   首先项目是西门子中国在我司实施部署的 MES 项目,由于项目是在产线上运作(3 ...

最近在忙着优化集团公司的一个报表。优化完成后,报表查询速度由从半小时以上(甚至查不出)到秒查的质变。从修改 SQL 查询语句逻辑到决定创建存储过程实现,花了我 3 天多的时间,在此总结一下,希望对朋友们有帮助。

 

数据背景

 

首先项目是西门子中国在我司实施部署的 MES 项目,由于项目是在产线上运作(3 years+),数据累积很大。

 

在项目的数据库中,大概上亿条数据的表有 5 个以上,千万级数据的表 10 个以上,百万级数据的表,很多…

 

(历史问题,当初实施无人监管,无人监控数据库这块的性能问题。PS:我刚入职不久…)

 

不多说,直接贴西门子中国的开发人员在我司开发的 SSRS 报表中的 SQL 语句:


  
  1. select distinct b.MaterialID as matl_def_id, c.Descript, case when right(b.MESOrderID, 12) < '001000000000' then right(b.MESOrderID, 9)  
  2. else right(b.MESOrderID, 12end  as pom_order_id, a.LotName, a.SourceLotName as ComLot, 
  3. e.DefID as ComMaterials, e.Descript as ComMatDes, d.VendorID, d.DateCode,d.SNNote, b.OnPlantID,a.SNCUST
  4. from  
  5. (
  6.     select m.lotname, m.sourcelotname, m.opetypeid, m.OperationDate,n.SNCUST from View1 m
  7.     left

文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。

原文链接:wenyusuran.blog.csdn.net/article/details/108233381

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。