You are receiving 12000 records in 1.0 second.
You are inserting 12000 records in 0.8 seconds.
Seems to me to me are keeping up just fine although I do wonder why your figure is 3 times longer than mine (Especially given your super-duper MySql backend vs my general MyISAM tables).
Here are some more questions to answer for your own benefit:
Where is the bottleneck? You still have not identified that. If you marshal the data into the query without actually executing it: how long does it take? What portion of the total time is this?
Does this data need to be stored in an RDBMS at all?
Is text the most efficient method of storing a date or time?
Can data be aggregrated on-the-fly and only the aggregrate data stored?
Can Lesiok's approach work for your application?
Bookmarks