zjdx项目员工离职处理慢得跟踪过程

用户反映员工离职处理效率很差!反映强烈。[@more@]

用户反映员工离职处理效率很差!反映强烈。

查看系统中存在的等待情况:

select s.sid,s.LAST_CALL_ET,q.SQL_TEXT,q.HASH_VALUE, w.event
from v$session_wait w, v$session s, v$sql q
where w.SID = s.SID
and q.HASH_VALUE = s.SQL_HASH_VALUE
and w.event not like '%message from client%'
and s.sid >= 6
order by last_call_et desc;

根据hash_value查看具体sql:
SELECT d.sql_text
FROM v$sqltext d
WHERE d.HASH_VALUE = '669053422'
order by d.address, d.piece;

主要是如下得两个更新wa_data和bm_data得sql得语句中关于wa_data和bm_data得限制条件没有提到括弧外导致得。
原有sql:
UPDATE WA_DATA
SET TS = '2007-09-18 16:24:32',
(PSNCLID, DEPTID) = (SELECT DIMISSION.PSNCLAFTER,
DIMISSION.PKDEPTAFTER
FROM HI_PSNDOC_DIMISSION DIMISSION
WHERE DIMISSION.PK_PSNDOC_SUB =
'1548V41000000000111F'
AND DIMISSION.DR = 0
AND WA_DATA.PSNID = '1548V4100000000004OD'
AND WA_DATA.IPARTFLAG = 0
AND WA_DATA.DR = 0
AND EXISTS
(SELECT 1
FROM V_RPT_WA_PERIOD
WHERE CLASSID = WA_DATA.CLASSID
AND CYEAR = WA_DATA.CYEAR
AND CPERIOD = WA_DATA.CPERIOD
AND IACCOUNTMARK = 0));
WHERE EXISTS (SELECT 1
FROM HI_PSNDOC_DIMISSION DIMISSION
WHERE DIMISSION.PK_PSNDOC_SUB = '1548V41000000000111F'
AND DIMISSION.DR = 0
AND WA_DATA.PSNID = '1548V4100000000004OD'
AND WA_DATA.IPARTFLAG = 0
AND WA_DATA.DR = 0
AND EXISTS (SELECT 1
FROM V_RPT_WA_PERIOD
WHERE CLASSID = WA_DATA.CLASSID
AND CYEAR = WA_DATA.CYEAR
AND CPERIOD = WA_DATA.CPERIOD
AND IACCOUNTMARK = 0));


UPDATE BM_DATA
SET TS = '2007-09-18 16:24:32',
(PSNCLID, DEPTID) = (SELECT DIMISSION.PSNCLAFTER,
DIMISSION.PKDEPTAFTER
FROM HI_PSNDOC_DIMISSION DIMISSION
WHERE DIMISSION.PK_PSNDOC_SUB =
'1548V41000000000111F'
AND DIMISSION.DR = 0
AND BM_DATA.PSNID = '1548V4100000000004OD'
AND BM_DATA.IPARTFLAG = 0
AND BM_DATA.DR = 0
AND EXISTS
(SELECT 1
FROM BM_PERIOD
WHERE BMCLASSID = BM_DATA.BMCLASSID
AND CYEAR = BM_DATA.CFUNDYEAR
AND CPERIOD = BM_DATA.CFUNDMONTH
AND IACCOUNTMARK = 0))
WHERE EXISTS (SELECT 1
FROM HI_PSNDOC_DIMISSION DIMISSION
WHERE DIMISSION.PK_PSNDOC_SUB = '1548V41000000000111F'
AND DIMISSION.DR = 0
AND BM_DATA.PSNID = '1548V4100000000004OD'
AND BM_DATA.IPARTFLAG = 0
AND BM_DATA.DR = 0
AND EXISTS (SELECT 1
FROM BM_PERIOD
WHERE BMCLASSID = BM_DATA.BMCLASSID
AND CYEAR = BM_DATA.CFUNDYEAR
AND CPERIOD = BM_DATA.CFUNDMONTH
AND IACCOUNTMARK = 0));
需要修改为:
UPDATE WA_DATA
SET TS = '2007-09-18 16:24:32',
(PSNCLID, DEPTID) = (SELECT DIMISSION.PSNCLAFTER,
DIMISSION.PKDEPTAFTER
FROM HI_PSNDOC_DIMISSION DIMISSION
WHERE DIMISSION.PK_PSNDOC_SUB =
'1548V41000000000111F'
AND DIMISSION.DR = 0
AND WA_DATA.PSNID = '1548V4100000000004OD'
AND WA_DATA.IPARTFLAG = 0
AND WA_DATA.DR = 0
AND EXISTS
(SELECT 1
FROM V_RPT_WA_PERIOD
WHERE CLASSID = WA_DATA.CLASSID
AND CYEAR = WA_DATA.CYEAR
AND CPERIOD = WA_DATA.CPERIOD
AND IACCOUNTMARK = 0));
WHERE EXISTS (SELECT 1
FROM HI_PSNDOC_DIMISSION DIMISSION
WHERE DIMISSION.PK_PSNDOC_SUB = '1548V41000000000111F'
AND DIMISSION.DR = 0
AND EXISTS (SELECT 1
FROM V_RPT_WA_PERIOD
WHERE CLASSID = WA_DATA.CLASSID
AND CYEAR = WA_DATA.CYEAR
AND CPERIOD = WA_DATA.CPERIOD
AND IACCOUNTMARK = 0))
AND WA_DATA.PSNID = '1548V4100000000004OD'
AND WA_DATA.IPARTFLAG = 0
AND WA_DATA.DR = 0;


UPDATE BM_DATA
SET TS = '2007-09-18 16:24:32',
(PSNCLID, DEPTID) = (SELECT DIMISSION.PSNCLAFTER,
DIMISSION.PKDEPTAFTER
FROM HI_PSNDOC_DIMISSION DIMISSION
WHERE DIMISSION.PK_PSNDOC_SUB =
'1548V41000000000111F'
AND DIMISSION.DR = 0
AND BM_DATA.PSNID = '1548V4100000000004OD'
AND BM_DATA.IPARTFLAG = 0
AND BM_DATA.DR = 0
AND EXISTS
(SELECT 1
FROM BM_PERIOD
WHERE BMCLASSID = BM_DATA.BMCLASSID
AND CYEAR = BM_DATA.CFUNDYEAR
AND CPERIOD = BM_DATA.CFUNDMONTH
AND IACCOUNTMARK = 0))
WHERE EXISTS (SELECT 1
FROM HI_PSNDOC_DIMISSION DIMISSION
WHERE DIMISSION.PK_PSNDOC_SUB = '1548V41000000000111F'
AND DIMISSION.DR = 0
AND EXISTS (SELECT 1
FROM BM_PERIOD
WHERE BMCLASSID = BM_DATA.BMCLASSID
AND CYEAR = BM_DATA.CFUNDYEAR
AND CPERIOD = BM_DATA.CFUNDMONTH
AND IACCOUNTMARK = 0))
AND BM_DATA.PSNID = '1548V4100000000004OD'
AND BM_DATA.IPARTFLAG = 0
AND BM_DATA.DR = 0;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6897/viewspace-970394/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/6897/viewspace-970394/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值