There are a lot of optimization tricks you could do with an app like rescuetime.
1. Buffer inserts on two levels: a. In-memory at the application level (if it crashes and you lose a few seconds' worth of data, it is not the end of the world). You can now do bulk inserts. b. Use MySQL's delayed insert buffer.
2. Split the data into separate tables for each duration interval so that you don't have one massive table.