最近发现某一时段数据库入库比较慢,并且查到入库慢的sql是一个简单的insert语句,而不是insert...select。从等待事件看这个sql等待的主要事件是gc cr multi block request事件。这个等待事件比较奇怪,因为multi block一般情况下都是全表扫描或全索引扫描,一个简单的insert语句是不会进行全表扫描的,而这个表上也没有索引。
进一步检查发现,原来此表上有一个trigger,是after insert for each row的触发器。这个trigger中会对其它三个表进行select,而且这三个表也没有索引,其中一个表还比较大。看来这个gc cr multi block request应该是由trigger引起的。
进一步检查发现,原来此表上有一个trigger,是after insert for each row的触发器。这个trigger中会对其它三个表进行select,而且这三个表也没有索引,其中一个表还比较大。看来这个gc cr multi block request应该是由trigger引起的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/228190/viewspace-688416/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/228190/viewspace-688416/