运用临时表方案优化薪酬核算函数中的数据查询性能

薪酬核算中,经常要关联查询考勤结果表T_HR_ATS_AttendanceResult,随着客户系统的长期使用,此表的数据量十分庞大,以某个使用了4年的客户为例,考勤结果表的数据量已经达到5千万级,导致某些需要关联查询考勤结果的核算函数执行起来耗时非常久,严重拉低了整体薪酬核算的性能。
针对此情况优化的方案是,创建临时表,先把满足当前期间薪酬核算的考勤数据取出来,放在临时表中并创建索引,后续取数都从临时表中取。
String tempAttResultTab = TempTablePool.getInstance(ctx).createTempTableName();
String insertAttResultTab = " SELECT t.* into "+tempAttResultTab
+" from T_HR_ATS_AttendanceResult t where t.FATTENCEDATE between {ts'"+beginDateStr+"'} and {ts'"+endDateStr+"'} "
+" and t.FPROPOSERID in (select a.FPERSONID from t_hr_scmpcaltable a inner join "+tempC运用临时表方案优化薪酬核算函数中的数据查询性能
薪酬核算中,经常要关联查询考勤结果表T_HR_ATS_AttendanceResult,随着客户系统的长期使用,此表的数据量十分庞大,以某个使用了4年的...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇
下一篇



