I’m confused about time Oracle 10g XE performs insert. I implemented bulk insert from xml file into several tables with programmatical transaction managment. Why one insert performs in a moment and another more than 10 minutes! I can’t wait more and stop it. I think there’s something more complex I have not payed attention yet.
Update:
I found lock using Monitor.
Waits
Event enq: TX - row lock contention
name|mode 1415053316
usnusnusnusn<<16 | slot 327711
sequence 162
SQL
INSERT INTO ESKD$SERVICESET (ID, TOUR_ID, CURRENCY_ID) VALUES (9, 9, 1)
What does it mean and how should I resolve it?
TX- Enqueues are well known and a quick google will give you a clear answer.
From that article:
If you have lots of simultaneous inserts and updates to a table you want each transaction to be a short as possible. Get in, get out… the longer things sit in between, the longer the delays for OTHER transactions.
PURE GUESS:
I have a feeling that your mention of “programmatical transaction managment” is that you’re trying to use a table like a QUEUE. Inserting a start record, updating it frequently to change the status and then deleting the ‘finished’ ones. That is always trouble.