UPDATE TSA_COMBINED_ANS
SET
SCORED_ANS_MARK = ''
WHERE AMK_REQUEST_ID = 30540; we found that the data volume in "TSA_COMBINED_ANS " is very large. For AMK_REQUEST_ID = 30540, there is 3165259 record.how can this sql running for 4 days, what is the problem? it's anyone know why?
SET
SCORED_ANS_MARK = ''
WHERE AMK_REQUEST_ID = 30540; we found that the data volume in "TSA_COMBINED_ANS " is very large. For AMK_REQUEST_ID = 30540, there is 3165259 record.how can this sql running for 4 days, what is the problem? it's anyone know why?
有等待发生么?v$session v$session_wait表pctfree ,pctused如何? 索引如何的?执行计划看看
先把创建一张表获取 AMK_REQUEST_ID = 30540的 数据(不包括SCORED_ANS_MARK字段) ,设为1
然后对TSA_COMBINED_ANS 这个进行delete 数据(AMK_REQUEST_ID = 30540) 设为2
然后把刚才的数据(1)插入到(2)中。
当然,你先对TSA_COMBINED_ANS进行备份好。
你说的执行计划指的是什么,具体怎么操作?
SET
SCORED_ANS_MARK = ''
WHERE AMK_REQUEST_ID = 30540; id 为30540 的记录数有300W条 。 CREATE INDEX TSA_COMBINED_ANS_N17 ON TSA_COMBINED_ANS(AMK_REQUEST_ID, SCORED_ANS_MARK); CREATE INDEX TSA_COMBINED_ANS_N18 ON TSA_COMBINED_ANS(AMK_REQUEST_ID);应该用哪个index?
查看一下v$lock或v$sesson_wait数据字典中的信息。
SET
SCORED_ANS_MARK = ''
WHERE AMK_REQUEST_ID = 30540;
select * from v$locked_object;if your table name is in this list, then you could find out who locks it.
then you could kill his session.