解决enq: TM - contention TM 等待事件案例
aWR后发现enq: TM - contention等待事件排第一位
等待来自某个表的dml
可能是外键约束上没有建立索引的问题。
SELECT * FROM (
SELECT c.table_name, cc.column_name, cc.position column_position
FROM user_constraints c, user_cons_columns cc
WHERE c.constraint_name = cc.constraint_name
AND c.constraint_type = 'R'
MINUS
SELECT i.table_name, ic.column_name, ic.column_position
FROM user_indexes i, user_ind_columns ic
WHERE i.index_name = ic.index_name
)
ORDER BY table_name, column_position;
TABLE_NAME
------------------------------
COLUMN_NAME
--------------------------------------------------------------------------------
COLUMN_POSITION
---------------
PROD
ID
CREATE INDEX ix_id ON prod(id);
之后等待事件消失。。
aWR后发现enq: TM - contention等待事件排第一位
等待来自某个表的dml
可能是外键约束上没有建立索引的问题。
SELECT * FROM (
SELECT c.table_name, cc.column_name, cc.position column_position
FROM user_constraints c, user_cons_columns cc
WHERE c.constraint_name = cc.constraint_name
AND c.constraint_type = 'R'
MINUS
SELECT i.table_name, ic.column_name, ic.column_position
FROM user_indexes i, user_ind_columns ic
WHERE i.index_name = ic.index_name
)
ORDER BY table_name, column_position;
TABLE_NAME
------------------------------
COLUMN_NAME
--------------------------------------------------------------------------------
COLUMN_POSITION
---------------
PROD
ID
CREATE INDEX ix_id ON prod(id);
之后等待事件消失。。