耗時3天,上億資料如何做到秒級查詢?

2021-10-23 20:13:32 字數 846 閱讀 3324

最近在忙著優化集團公司的乙個報表。優化完成後,報表查詢速度由從半小時以上(甚至查不出)到秒查的質變。從修改 sql 查詢語句邏輯到決定建立儲存過程實現,花了我 3 天多的時間,在此總結一下,希望對朋友們有幫助。

資料背景

首先專案是西門子中國在我司實施部署的 mes 專案,由於專案是在產線上運作(3 years+),資料累積很大。

在專案的資料庫中,大概上億條資料的表有 5 個以上,千萬級資料的表 10 個以上,百萬級資料的表,很多…

(歷史問題,當初實施無人監管,無人監控資料庫這塊的效能問題。ps:我剛入職不久…)

不多說,直接貼西門子中國的開發人員在我司開發的 ssrs 報表中的 sql 語句:

select distinct b.materialid as matl_def_id, c.descript, case when right(b.mesorderid, 12) < '001000000000' then right(b.mesorderid, 9)  

else right(b.mesorderid, 12) end  as pom_order_id, a.lotname, a.sourcelotname as comlot, 

e.defid as commaterials, e.descript as commatdes, d.vendorid, d.datecode,d.snnote, b.onplantid,a.sncust

from  

(    select m.lotname, m.sourcelotname, m.opetypeid, m.operationdate,n.sncust from view1 m

left

第3天 上移方法

這個方法的意思就是說如果有兩個類使用同一方法,可以用乙個基類完成 從而改善 舊的 如下 code public class car public class motorcycle public enum direction 新的 code public abstract class vehicle ...

十天上手Node KOA 3

發布任務 一 path模組 二 url模組 三 formidable包 一 path模組 path 模組提供用於處理檔案路徑和目錄路徑的實用工具 const paths require path let dir d node 將碎片化路徑拼接在一起,規範化生成的路徑 path.join dir,pu...

Python從入門到實踐 第3天上午

第八章 函式 8.1定義函式 def greet user 顯示簡單問候語 print hello greet user 8.2向函式傳遞資訊 def greet user username 顯示簡單問候語 print hello!username greet user zhangsan 8.3關鍵...