Personally I feel that I have a pretty good understanding on MySQL locking, however I am confused by the output I've received from "SHOW PROCESSLIST" at seemingly random times.
At the end of this message is the output from "SHOW FULL PROCESSLIST." ALL queries from output are shown. ALL WHERE clauses in all currently running queries are using an index and normally run in under 0.01 sec. My questions are: 1. How can Id 172387 (row 1) be in state 'end' for 5 seconds (it was already in this state at Time=1) 2. 172388 id "updating" and it appears 172407,172409,172415, and 172426 are all locked waiting for 172388 to finish. It has been in "updating" state for 5+ seconds since Time=1. How can it take so long when no other queries or using table v 3. Similarly 172404 has been "preparing" and 172406 has been "statistics" and 172406 has been "updating" since time=1. How can preparing or statistics take 5 seconds? Note again that these queries are not locked or waiting on other queries Remember normally these queries take < 0.01 sec. Everything else is locked waiting for the first 5 unlocked queries The server is loaded enough that these first 5 'frozen' queries quickly lock everything else out and the database completely freezes. 3 seconds later than what is shown below, SHOW PROCESSLIST has hundreds of locked processes. *************************** 1. row *************************** Id: 172387 Time: 5 State: end Info: UPDATE si SET val=val-5 WHERE id=317675 *************************** 2. row *************************** Id: 172388 Time: 5 State: updating Info: UPDATE v SET val=val+5,cnt=cnt+1 WHERE id=233822 *************************** 3. row *************************** Id: 172404 Time: 5 State: preparing Info: SELECT * FROM s WHERE id=321653 *************************** 4. row *************************** Id: 172406 Time: 5 State: statistics Info: SELECT * FROM ad WHERE z='t' ORDER BY seq LIMIT 1 *************************** 5. row *************************** Id: 172407 Time: 5 State: Locked Info: UPDATE v SET val=val+5,cnt=cnt+1 WHERE id=236404 *************************** 6. row *************************** Id: 172408 Time: 5 State: update Info: INSERT INTO hist VALUES(261366,236313) *************************** 7. row *************************** Id: 172409 Time: 5 State: Locked Info: UPDATE v SET val=val+5,cnt=cnt+1 WHERE id=233823 *************************** 8. row *************************** Id: 172410 Time: 5 State: Locked Info: INSERT INTO hist VALUES(265095,233822) *************************** 9. row *************************** Id: 172412 Time: 4 State: statistics Info: SELECT * FROM ad WHERE z='l' ORDER BY seq LIMIT 1 *************************** 10. row ************************** Id: 172414 Time: 3 State: Locked Info: INSERT INTO hist VALUES(287716,233818) *************************** 11. row ************************** Id: 172415 Time: 3 State: Locked Info: UPDATE v SET val=val+5,cnt=cnt+1 WHERE id=233822 *************************** 12. row ************************** Id: 172418 Time: 3 State: Locked Info: INSERT INTO hist VALUES(306395,234632) *************************** 13. row ************************** Id: 172420 Time: 2 State: Sorting result Info: SELECT * FROM idx WHERE id=10523652 ORDER BY cnt *************************** 14. row ************************** Id: 172421 Time: 2 State: Sorting result Info: SELECT * FROM idx WHERE id=10523652 ORDER BY cnt *************************** 15. row ************************** Id: 172423 Time: 1 State: Locked Info: INSERT INTO hist VALUES(304442,5928601) *************************** 16. row ************************** Id: 172424 Time: 1 State: statistics Info: SELECT * FROM ad WHERE z='t' ORDER BY seq LIMIT 1 *************************** 17. row ************************** Id: 172425 Time: 1 State: Locked Info: INSERT INTO hist VALUES(282924,5681301) *************************** 18. row ************************** Id: 172426 Time: 1 State: Locked Info: UPDATE v SET val=val+5,cnt=cnt+1 WHERE id=101086 *************************** 19. row ************************** Id: 172427 Time: 1 State: Sending data Info: SELECT * FROM plan p LEFT JOIN hist h ON p.id=h.id LEFT JOIN hist h2 ON p.id=h2.id AND h2.stat='i' LEFT JOIN s ON s.id=p.id WHERE h.stat IS NULL AND p.id=288135 ORDER BY seq LIMIT 1 *************************** 20. row ************************** Id: 172428 Time: 1 State: Locked Info: UPDATE plan SET stat='L' WHERE id=282924 *************************** 21. row ************************** Id: 172430 Time: 1 State: Locked Info: SELECT * FROM plan p LEFT JOIN hist h ON p.id=h.id LEFT JOIN hist h2 ON p.id=h2.id AND h2.stat='i' LEFT JOIN s ON s.id=p.id WHERE h.stat IS NULL AND p.id=355506 ORDER BY seq LIMIT 1 --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php