乙個sql的優化 習慣累積沉澱 新浪部落格

2021-09-25 19:12:53 字數 579 閱讀 9752

update s_lf t1

set gzl=(select sum(t2.dbbl)/count(t2.id) from s_lf_history t2 where  t2.id=t1.id and t2.yf>='201409' and t2.dbbl>0)

where exists (select t2.id from s_lf_history t2 where  t2.id=t1.id and t2.yf>='201409' and t2.dbbl>0);

這是要計算規則量. 即近幾個月用電量的平均值. 作為抄表的參考.原來規則量的計算效率極其低下. 是每個使用者算.(這應該是hibernate這樣按物件查詢形式  很直覺的做法.)幾萬個使用者每個使用者算一下. 好幾分鐘.(想了想用hibernate的實現. 要取所有記錄然後遍歷. 每個迴圈還有在查詢歷史月.然後更新物件   . 我不知道什麼結果.但想想都可怕)

這個不到一秒

這個sql是意思是 從量費歷史表(如果歷史表裡有當月表裡的記錄相關的記錄)裡找到201409後的月份的 且與當前表相關的記錄算出這些記錄的sum/count 即平均值. 賦給當前表裡規則量這個字段

效率提公升了幾百上千倍

再養成乙個新習慣

最近在看 程式設計師的思維訓練 一書,其中提到了乙個習慣,那就是晨寫,也就是每天早上起來之後,先記錄一些東西下來,並且養成習慣。因為這個時候,是非常放鬆的狀態,能夠把自己前一天的一些想法毫無保留地記錄下來。並且,書中建議要堅持兩周,不過根據21天養成習慣的理論,還是應該堅持更長時間,才能夠真正養成。...

乙個sql的優化

原文 乙個sql的優化 目的 為了查詢某天某個伺服器上的登入id的個數 剛開始編寫的sql select count a.mac logusers from log maclogin all a where ismoni 1 and logintime 2015 02 01 23 59 59 and...

乙個新的開始

學習soa快三個月了,前途雖光明,自我卻茫然。soa涉及的知識面很廣,業務流程建模 服務顆粒度劃分 esb三類基本協議 soap,xml,web severice,如何跨平台 如何在上層應用soa 資料庫的soa,應用系統的soa,系統整合的soa 貌似soa是萬靈丹,可應用到各個層次。是突破口呢?...