能在資料庫層面處理的邏輯優先在資料庫處理

2021-09-01 13:52:18 字數 1046 閱讀 6592

優化後:

string querystr = " wid in(select wid from t_gjjl_yjsygcgsq where sqzt=99"

+"and jfshflag=0 union select wid from t_gjjl_yjsygcgsq where field1=1 and length(jfbmshzt)=length(jfshzt))";

優化前:

//查詢本科生是否進入到oa的流程中 即資料在該系統中的流程已經走完

publicservice pubservice = (publicservice) genericfactory.getserviceinstance(publicservice.class);

string sql ="select * from t_gjjl_yjsygcgsq where jfshflag=1 or sqzt=99";

list list = pubservice.sqlgetall(sql);

string jfshflag="";

int counti=0;string querystr1="";string querystr="";

string sqlstr="";string filterstr="t_gjjl_yjsygcgsq:";

int counta=0;

if(list.size()>0)else

counta = ((map)list.get(a)).get("jfbmshzt").tostring().length();

//該條件是判斷 jsfhflag==1 的值中 經費審核狀態和經費部門審核狀態是否相等

//長度相同則是到終審的資料

if(counti == counta)

}else

}if(!"".equals(querystr)&& !"".equals(querystr1) )else if("".equals(querystr))else if("".equals(querystr1))

}else

if(filterstr.length()==17)

Hibernate產生不能在資料庫直接執行的SQL

之前做專案的時候,發現功能有問題,都會去debug,並把後台的sql在資料庫客戶端執行,便可很快找出問題的所在,可今天發現功能是正確的,如查詢一點問題也沒有,但把後台hibernate產生的sql在資料庫客戶端執行,則將會出現問題,如 upload time 01 十二月 2010.00 00 00...

高併發大資料資料庫層面的處理

三種併發策略 1.什麼都不做,任由併發產生,以最終提交結果為準。2.開放式併發,衝突產生時,告訴使用者當前資源被占用。3.保守式併發,強制加鎖,只有當前使用者更新提交完畢才能被下乙個使用者占用。保守式併發 保守式併發通常用於兩個目的。第一,在某些情況下,存在對相同記錄的大量爭用。在資料上放置鎖所費的...

在資料庫應用系統中資料庫的開發

在資料庫應用系統中資料庫的開發 乙個成功的資訊管理系統由50 的業務 50 的軟體組成 而50 的軟體又是由25 的程式 25 的資料庫組成。由此可見資料庫在資訊管理系統中佔的重要位置,或許會有人說了 資料庫不就是建幾張表嗎?有那麼重要嗎?如果按照你說的那樣,既然ms已經有了vb 大家都知道vb中自...