A simple solution would be to not issue the DELETE every time a record is processed, but rather do the DELETE statement only very occasionally (say every 24 hours), running something like:
LOCK TABLES my_table WRITE;
DELETE FROM my_table WHERE insert_time < DATE_SUB(NOW(), INTERVAL 1 DAY);
UNLOCK TABLES;
There's really no benefit you get from DELETEing records from a table at all, unless you really need to reduce storage requirements. Leaving the records in the table for 24 hours would be just fine.
Another tip is to make sure you have only the indexes on the table which you absolutely need. Tables having lots of UPDATE/DELETE statements should have as few indexes on them as possible.
Jay Pipes
Community Relations Manager, North America, MySQL Inc.
Got Cluster?
http://www.mysql.com/cluster
Personal:
http://jpipes.com