2015-10-13 69 views
0

我们有一个应用程序,我们在DB2模式中有3个表。我正在使用下面的查询来获取记录。事务表可能包含超过1000000条记录。我写下面的查询来从多个表中获取数据,但它比测试人员的期望花费更多的时间。DB2查询执行性能问题

select * from (select ROW_NUMBER() OVER (order by SOURCE_REFERENCE_NO,Trans_Date,Trans_Time,User_ID) as RN ,Trans_Type from transaction t left join applicationref ar on t.code = ar.code left join user u on u.username = t.useraccess left join user u1 on u1.username = t.username )as w

+0

您是否想要发布一些逻辑? –

+0

是,例如添加员工,编辑员工,删除员工。 –

+0

请删除我的问题重复。现在不重复。我有麻烦了。请urgnet需要帮助。 –

回答

0

从技术上讲,你可以在你的servlet声明额外的方法,但最好你应该封装这些业务逻辑集成到服务和DAO(数据访问对象)作为单独的类。

+0

是的,这是事实。我必须将不同的方法与不同的业务逻辑绑定在一起。你能给出更多的解释吗?如何使用单个servlet绑定多个操作。 –

0

我会加到Ish的答案。

是的,你应该在一个单独的服务类或DAO中定义实际的业务登录,但是这个不同的业务逻辑的实际调用应该在Servlet本身中适当地调用。

适合您需求的方案是在窗体中创建一个隐藏的动作参数。我们称它为action。在Servlet doGet或doPost方法中检查此参数。

如果Java 1.8或其他版本的if if if可以使用'switch statement'。

就是这样。

String action = request.getParameter('action'); 
if(action.equals('logic1')){ 
    service.businesslogic2(); 
} else if(action.equals('logic2')){ 
    service.businesslogic2(); 
} else if(action.equals('logic3')) 
.... 
.... 
.... 

服务是任何服务类实例。

+0

是的,但是在代码质量的开发中更好。 1)使用单个Servlet 2)分开多个操作的servlet –

+0

我们可以使用相同的servlet进行非常密切相关的操作。 –