项目优化需要注意哪些内容
一:代码优化
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. 给特定的角色分配不同的权限,而不是只有普通和管理员两种权限