一:代碼優化
1. 注釋要保持團隊的統一規范
2. 公共部分要提取出來,簡化代碼
3. util工具類進行封裝,使代碼結構更清晰
二:業務優化
1. 優化使用人員的操作,比如搜索或者提交采用回車的方式
2. 單選/多選選中文本就可以達到選中的目的
3. 進行搜索操作的時候要加入加載中這種提示,防止用戶多次點擊提交
4. 刪除/更新操作要彈框確認,刪除/更新 成功/失敗之后要有提示信息
5. 原型要設計的合理,符合正常的操作順序,並且盡量減少客戶的操作
三:sql優化
1. 查詢的時候不要使用 * ,查幾個字段就寫幾個字段
2. 如果是oracle數據庫,盡量將sql都大寫,因為oracle會解析sql,將小寫轉成大寫再去執行
3. 使用union all,少使用union 因為union all不會過濾重復數據,執行效率快,並且union會自動排序
4. 盡量不要在索引上計算和使用函數,這樣索引就不會生效了
5. where子句中盡量不要對null值進行判斷,否則將導致引擎放棄使用索引而進行全表掃描 可以對字段設置默認值這種方式來處理
6. 盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描
7. 盡量避免在 where 子句中使用 or 來連接條件,否則將導致引擎放棄使用索引而進行全表掃描 可以使用union all 的方式 select id from t where age='1' union all select id from t where age='2'
8. in和not in要少用,如果值是連續的,可以用between,否則將會導致全表掃描
9. like ‘%xx%’ 也會導致全表掃描 通配符%不要使用在首位,末尾沒問題
10. 量避免在 where 子句中對字段進行表達式操作,這將導致引擎放棄使用索引而進行全表掃描 select id from t where num/2=100 應改為 select id from t where num=100*2
11. 不要在 where 子句中的“=”左邊進行函數、算術運算或其他表達式運算,否則系統將可能無法正確使用索引
12. 數據庫盡量使用數字型字段,少用字符型
13. 盡可能的使用 varchar 代替 char ,因為首先變長字段存儲空間小,可以節省存儲空間,其次對於查詢來說,在一個相對較小的字段內搜索效率顯然要高些。
14. 連接的表越多,性能越差,所以建表的時候要考慮好使用哪些字段
15. 外鏈接效果差,因為必須對左右表進行表掃描,盡量使用inner join
四:防sql注入
1. 前台js先去驗證以下,對一些字符進行屏蔽/限制, 比如限制用戶名的長度和類型
2. 用戶的敏感信息要進行md5加密
3. 對一些錯誤界面進行定制,讓報錯頁面也看上去很美觀
4. 給特定的角色分配不同的權限,而不是只有普通和管理員兩種權限