Oracle ERP系統月結幾乎癱瘓之程式碼分享  

Sunday, April 12, 2009 in ,

如果你是做資訊的IT人員一定會有機會在部落格及網站分享程式碼,但是不同的程式開發語言要能結構化的顯示成網頁HTML語法不像純文字這麼容易,以下四個網站(Snipt,Friendpaste,Pastie,Pastry)讓你簡單易懂的編輯顯示,各有各的特色,像是縮排,保留字高亮度,常數區分,背景Theme的選擇,留言回應的互動,Tag分類,純文字下載,embed語法產生等.

戰地記者最近Trunning好幾個Oracle SQL,從原本要執行幾個小時的程式,修改之後變成只要不到1分鐘.

我不是埋頭苦幹型的員工,做事情講究的只有一個,效率簡化.但是我也認為公司需要不同類型的人,才能分工合作.就像民進黨建立多元化的民主台灣一樣.不多說,看以下的程式內嵌示範.

2 Reply

F.Y.I

如下圖 Q_INV_TRN_, Q_1 這兩個 SQL 的內容完全一樣,一開始 Turnning 時以為是 2N 的問題類型,後來仔細看了Layout才發現紅色的Loop包在藍色的Loop裡面
這樣一來,問題的複雜度是 N 平方

這隻程式是Turnning的典型,剛開發完成時感覺不出來,資料量一大就非常慢,以"異動日報表"的需求而言,使用者假設選看一天的明細

2000年平均每日約 3000筆Transactions
3000 X 3000 = 9百萬筆的 I/O 次數

2009年平均每日約 12000 ~ 15000 的異動筆數
12000 X 12000 = 144000000 已經到達 1億4千萬次..
如果日期範圍是10天/20天,那簡直是天文數字了

所以這隻報表會 Running 好幾個小時
建議只保留紅色框的那個 Query,還是可以達到 Master(SUM) - Detail 的Layout
原本這樣的方式,等於是暴力的使用兩次相同的 Query,一次只取 Master Summary,一次只取Detail,浪費了太多的 IO
如果只用一個 Query,保守的估計 5分鐘內會完成

Anonymous   says 12/4/09 20:39

不知道是怎樣大有為的組織機構....才可以留住像您這樣大有為的青年?

相信會讓這樣有清楚邏輯 的您會依然默默的守著冰冷螢幕前 耐心的解決暴力程式
這樣的組織或是工作環境
一定有特別的溫度...

複雜化問題 複雜化程序...
不比這樣找到臭蟲 簡化繁複
優雅

看到您解決這樣的暴力程式...
就知道您的優雅跟品味...

Post a Comment

網際逍遙遊

戰情觀察

訂閱部落格 TwitterCounter for @anchi 訪客總人數 部落格觀察 藍眼關注  看誰在線上

hits: Creative Commons License

戰地寫真

flickr.com

Sticker

妳忍心讓台灣受困嗎 UN For Taiwan 台灣入聯
我的相片 戰地記者是自封的2004年的319敗選之夜掀起臺灣社會的動盪不安讓我有置身戰場的感受所以用此暱稱來寫文章!要訂閱的人請慎重我很歡迎不同意見腦力激盪.

 

廣告後馬上漸漸回來請勿轉格

戰地日誌


隨機精選好文章

碎碎唸留言板