新系統開發設計

2021-09-02 16:16:21 字數 1727 閱讀 2254

從系統優化總結:

1、資料庫設計--表、字段、型別

-- 根據業務處理設計 。比如:是否需要主從表,哪些存主,哪些存從,

主表資料:業務主流程資料

從表資料:業務分支流程資料

-- 效能設計。比如 表示時間可以拆分:日期、時間用字串型別, 查詢型別轉換等。

比如:考慮資料冗餘,空間換時間。

2、程式設計

-- 健壯、靈活、可拓展、可復用

3、sql的效能

-- 常見的sql效能優化注意事項要注意--

--1、避免全表掃瞄   2、讓索引生效 3、關聯查詢依小為先

1、優先考慮使用等號(=)操作;其次考慮使用大於等於(>=),小於等於(<=)操作;然後再考慮大於(>),小於(<)操作

2、減少使用like操作,避免使用不等於操作

3、謹慎使用排序(sort by)和分組(group by)

4、使用like的時候,應該使用右匹配(a%),而避免使用左右匹配(%a%)和左匹配(%a),使用右匹配時盡快能提供較多的資料降低查詢開銷

5、使用and時,篩選結果集小的表示式應該置於and左側,使用or語句時,篩選結果集大的表示式應該列於or左邊

6、避免不必要的排序。使用union all代替union,新增恰當的索引,或在distinct,group by,order by子句涉及的列上建立索引

7、避免對三個以上的字段排序

8、避免對長度超過30的字元字段進行排序

9、避免在排序欄位上新增表示式

10、不使用任何聚合函式情況下,使用distinct代替group by

11、根據業務邏輯選擇最低粒度的隔離級別。在允許髒讀的前提下,在查詢語句中應該使用with ur,避免不必要的鎖表。

12、in中引數個數避免超過20個

13、查詢語句的結果字段應該書寫明確的列名,不應該使用萬用字元

14、不應該在**使用ddl相關操作

15、查詢語句應該設定有效的限定條件,返回預期的結果集,避免返回過大的結果集

16、使用select...fetch first n rows only限制結果集大小,建議100個以內

17、用於比較的資料應該使用相同的資料型別,避免發生資料轉換

18、sql語句變數應該使用引數化,尤其是id型別,時間型別欄位等

19、避免對索引字段進行函式操作

20、sql中的子查詢巢狀層次避免超過4層

21、查詢表示式左邊避免出現函式以及其他運算表示式,必須的表示式應該用替代的方法在右邊實現

22、所有的sql應該盡可能提前在測試環境上進行優化和除錯。獲取必要的執行計畫和執行時間資訊

4、資料儲存持久化

-- 事物的管理:力度、顆粒、傳播性

-- 盡可能原子提交,提高資料儲存速度、業務處理速度

5、資料查詢

-- 快取的使用

-- 避免全表掃瞄

6、日誌、註解

-- 日誌配置、列印規範,用於業務監控、問題跟蹤和定位

-- 注釋可讀性強

--參考  最佳日誌實踐:

------------------------後續更新中......-----------------------------

系統開發 系統規劃

一 系統規劃五個階段 1 專案目標和動機 2 立項價值判斷 3 專案選擇和確定 4 初步調查 5 可行性研究 包括經濟可行性,技術可行性,法律可行性,使用者使用可行性 二 可行性分析八個階段 1 複查系統目標和規模 2 分析現在系統 3 匯出新系統的高層邏輯模型 4 使用者複查 5 提出並評價解決方...

銀行系統開發

1 銀行系統的開發與其它系統有何異同?我想大家關注銀行資訊系統建設的話題不僅僅是因為銀行it業有 錢 途,更重要的是因為銀行業是it技術應用最深入最具有代表性的行業之一。正是因為這個 原因,銀行系統的開發相對而言有著更高的要求。首先,對系統的準確性 穩定性 安全性 高效能的要求是不言而喻的,技術上的...

c 系統開發

多家頂級量化公司c 交易系統開發的機會,團隊都匯集了很多來自985靠前以及世界top學校數學 統計學 物理學 計算機等專業的碩士和博士,it開發團隊成員很多來自谷歌微軟和國內一線網際網路平台,從初級剛畢業的到資深 35歲以下 的c 開發,不同公司都有招聘需求,有無金融背景都可以,薪資200萬以內op...