find方法多次使用。
在乙個方法中,多次使用引數配置中的各種引數配置,有的**就是
salesparameter::find(「******」).******, 只要用到引數,就使用這種寫法。好的寫法是,定義乙個表變數,開頭賦值,後續使用「表變數.******」來代替」salesparameter::find(「******」).******「。
無效**空跑。
當方法中有條件執行某些寫**的時候, sql語句要寫在條件範圍內,只有使用的時候再用。有的人是上來先把sql語句寫好,後面用不用不再管了
多次取值。
有的時候需要對不同型別的交易分別統計數量,此時見過最多的**就是根據顧問文件描述,寫多個sql語句,使用不同的條件進行取值。 如果涉及到invent trans這樣的表中進行取數,取的字段又比較多,就很容易出現效能問題,單獨看每一段**都不存在效能問題,但是合在一起就很慢。建議的做法是使用一次遍歷,在遍歷有效範圍內,根據條件不同分別將數取到map, set等容器內,退出迴圈後,再遍歷容器中的資料,達到一次取數,多次使用的目的。
多個while 巢狀
經常會看到****現while裡包含while再包含再包含。曾經在專案中遇到過5個while巢狀的。
解決辦法通過兩種方法來減少while的次數。第一,能用join的先join,能用query + view的,先構建view,最後一次遍歷。 第二, 認真理解業務,重新考慮取數邏輯。實際專案中3曾while都很少遇到。如果超過3層巢狀,考慮優化。
while select 更新乙個標記。
經常能看到使用while select 遍歷某個表,然後對某乙個字段更新乙個固定值,通常是某個noyes 的值選中或不選中。 建議做法使用批量更新的方法。
while select 根據條件建立表資料。
建議做法: 使用批量插入。
continue的使用. while select 中,經常能看到continue,還有的情況 while進來後先來一堆其他查詢語句, 最後再判斷某個條件符合條件的來個continue. 這種做法也是有問題的。 首先,是否真的需要continue, 如果判定條件沒有邏輯加工,比如判斷某個日期 + 10天是否大於某個值,此時應該把continue的判定條件加入到while select的條件中。 其次,即使有邏輯加工,也應今早進行判定,不符合條件的先做continue,最後再處理其他邏輯。不能照搬fdd的描述進行技術實現。
Dynamics 365 實施常見問題及避免
專案管理中,解決問題的方法沒有對錯,只有是否適合自己,以下經驗僅僅是個人的觀點,分享出來是為了跟同行進行交流,給初學者在專案實施過程中一些參考案例及思路。經歷過erp的實施後發現,大部分的專案實施都很辛苦,尤其上線前後,顧問們都加班加點的幹活,但是上線後仍然發現有很多問題,我見過和聽過的問題主要有以...
索引效能優化例項
建立好的索引經過一定時間的執行後,索引塊中容易產生碎片從而影響系統的效能。管理員可以對索引塊進行壓縮,對索引進行重組從而優化索引資料的儲存。下面以對資料表hr.employees的索引em department ix進行優化為了介紹優化的步驟。1 以 登入到管理伺服器 方式來登入 企業管理器 在 管...
LoadRunner OSGI效能測試例項
其實我們就兩點 確定測試登入最大併發使用者數 事務平均響應時間 兩個查詢 得到這個任務 如何展開測試工作呢?一 windowsresources 設定 其實不監控 設不設都行 我感覺 1.新增裝置 2.windows server 2008選擇platform為win2003就可以 這個試了好幾個才...