Java Web 项目优化

个人总结的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

时间: 2024-10-03 01:19:14

Java Web 项目优化的相关文章

java web项目优化记录:优化考试系统

考试系统在进行压力测试时发现,并发量高之后出现了按钮无反应,试题答案不能写到数据库的问题,于是针对这些核心问题,进行了优化. 数据库方面: Select语句:Select * from TEB_VB_XZTRecord改为select 必须的列 form TEB_VB_XZTRecord,之前看的教学视频里就讲过最好别用*,由于查询了不必要的列,所以导致了低效率. insert优化:考试业务的原因,需要把查询出来的试题,一条条的插入到数据库中.优化前:循环+每次插入一条的insert语句.优化后

Java web项目的解耦合

以前的项目大多数都是java程序猿又当爹又当妈,又搞前端(ajax/jquery/js/html/css等等),又搞后端(java/mysql/oracle等等). 随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情,正所谓术业有专攻,一个人如果什么都会,那么他毕竟什么都不精. 大中型公司需要专业人才,小公司需要全才,但是对于个人职业发展来说,我建议是分开.你要是这辈子就吃java这碗饭,就不要去研究什么css,js等等. 把

大型Java Web项目的架构和部署问题

一位ID是jackson1225的网友在javaeye询问了一个大型Web系统的架构和部署选型问题,希望能提高现有的基于Java的Web应用的服务能力.由于架构模式和部署调优一直是Java社区的热门话题,这个问题引发了很多热心网友的讨论,其中一些意见对其它大型Web项目也有很好的指导意义.在讨论之初jackson1225这样描述了当前的应用的架构和部署方案: 目前系统架构如下: web层采用struts+tomcat实现,整个系统采用20多台web服务器,其负载均衡采用硬件F5来实现; 中间层采

在java web项目中集成webservice

公司要求在项目中加入webservice服务,因为项目中使用了spring框架,所以在这里使用与spring兼容性较好的cxf来实现 cxf所需jar包 spring的jar包就不贴了 一:创建webservice服务器 1)创建一个服务接口 package com.service; import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface IHelloWorld { public S

Java Web项目中缺少Java EE 6 Libraries怎么添加

具体步骤如下: 1.项目名称上点击鼠标右键,选择"Build Path-->Configure Build Path-->Java Build Path" 2.单击"Add Library..." 3.选择"User Library",单击"Next" 4.单击"User Libraries...",选择需要的Java EE 6 Libraries Java Web项目中缺少Java EE 6

使用InteIIiJ IDEA开发Java web 项目

1.介绍 IntelliJ IDEA是一款非常强大的集成开发环境,基本上可以做任何事情,它的强大大大降低了我们的工作量,提高了工作效率.那么它如何开发Java web呢?下面就为大家介绍使用IntelliJ IDEA开发Java web. 首先去官网下载安装包:http://www.jetbrains.com/idea 它有两个版本Ultimate(收费)和Community(免费),作者选择的是Ultimate 2.安装 点击下载即可,然后开始安装,一直Next就可以了,途中可以选择创建一个6

基于IBM Bluemix部署Java Web项目实战演练

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要介绍了IBM Bluemix,并详细说明了如何部署Java Web项目,如何添加MySql服务.最后,提出了自己的一些看法.  文章目录 一.Bluemix简单介绍 二.BlueMix空间申请试用 三.BlueMix创建Cloud Foundry应用 四.添加新的服务 五.总结 一.Bluemix 简单介绍 1.Bluemix 带来了什么        Bluemix 致力于解

IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目

创建Web项目 1.File -> New Project ,进入创建项目窗口 2.在 WEB-INF 目录下点击右键,New -> Directory,创建 classes 和 lib 两个目录 3.File -> Project Structure,进入 Project Structure窗口 4.点击 Modules -> 选中项目“JavaWeb” -> 切换到 Paths 选项卡 -> 勾选 “Use module compile output path”,将

java web项目,java类中获得WEB-INF路径

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 private static String getWebInfPath() {         URL url = 当前类.class.getProtectionDomain().getCodeSource().getLocation();         String path = url.toString();         int index = pat