MySQL large databases, unique index effect on efficiency? I'm working on a table which holds around 300k records. I'm using a 3 columns unique index to prevent duplicate records. For some reason the database is taking long to insert new rows.

I have a few questions regarding UNIQUE indexes and efficiency:


Will a UNIQUE index make a table much slower? 
Would it be useful to store old rows in another table and reduce the table to around 1k records?
And most importantly is there any way to know how long my db takes to insert a row? In phpMyAdmin I can see the "time to process query" but only on SELECT queries
For write operations (e.g. INSERT and DELETE) having a composite index will slow things down. However, MySQL can handle tables with MANY more rows than that. If you need to keep the row count to 1k to maintain performance then I would suggest something is very wrong somewhere. Regardless, I would strongly suggest not breaking the data up in this way, you're just giving yourself a maintenance headache further down the line...

What datatypes are the columns that make up the composite index?