码迷,mamicode.com
首页 > 编程语言 > 详细

Java Web 项目优化

时间:2014-12-25 22:14:28      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:web前端开发   javaweb   优化   

个人总结的Java Web 的注意事项
1、禁止在循环中,出现操作数据库的操作。 原因是:操作数据库打开和关闭耗费时间内存
      例如:  尽量避免不要在程序中出现如下这样操作
               for(Object o:entitys){
                  save(o);
                 update(o);
delete(o);
// 
          }
2、在程序出现的HQL或者SQL语句,尽可能把先能过滤数据多的条件放在第一位
       
3、在设计数据初期时,使用频繁的数据尽量做冗余字段。避免查询时还要连接表,耗费数据查询的时间。
      比如:人员和部门的关系 ;一个人有多个部门,一个部门有多个人,并且每个人都有默认部门          

4、在Java程序中HQL/SQL 中,尽量不要在 Where 条中调用系统函数或者Select 中调用系统函数。
   如下情况:
    
<strong>  StringBuilder sbud = new StringBuilder("select distinct tps.project_id  id  from t_project_stage tps");
           	    sbud.append(" inner join t_stage ts on ts.id = tps.stage_id  where  ");
           	    sbud.append("  tps.last_modified is not null and tps.last_modified -1<to_date('%2$s', 'yyyy-MM-dd')");
//           	    sbud.append(" and tps.last_modified <  to_date('%3$s', 'yyyy-MM-dd')+1 and tps.overdue=0  group by tps.project_id having MAX(ts.order_no)=%1$s) tt2 on tt.id =tt2.id ");
           	    sbud.append(" and to_date('%3$s', 'yyyy-MM-dd')  < <span style="color:#ff0000;">ADD_MONTHS</span>(tps.last_modified, 2) +1 and tps.overdue=0  and ts.order_no=%1$s) tt2 on tt.id =tt2.id ");
           	    builder.append(String.format(sbud.toString(),witchStage,firstDay,firstDay));</strong>


如果数据量大的话,建议做冗余字段。
5、如果在程序中多个地方的使用HQL查询或者本地SQL查询多张表,可以使用SQL的存储过程,SQL的视图,统一的接口,增加代码的重用性。备注:可为视图建立实体类



以上观点:纯属个人观点,如有错误之处,烦请大神指点!















      1

Java Web 项目优化

标签:web前端开发   javaweb   优化   

原文地址:http://blog.csdn.net/tannongchun/article/details/42152723

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!