Is there slowdown inserting into an InnoDB table that has no index set? I have an old application with lots of InnoDB tables, that have no indexes at all, not even a primary ID or such.

Those tables only contain a few thousand rows.

Would it be faster to INSERT data into these tables if I would set a primary index (that I don't need otherwise)?
On the contrary, a table with no indexes would be faster to run INSERTs on than a table with indexes.

However, in the case of InnoDB, there is already an internal index in use called the gen_clust_index. It is also better known as the Clustered Index. It exists for all InnoDB tables, even those with no PRIMARY KEY.

I have written about the gen_clust_index before


Sep 20, 2011 : Best of MyISAM and InnoDB
Mar 27, 2013 : Are there implicit indexes in InnoDB like MyISAM?
Feb 24, 2011 : what is gen_clust_index used for in mysql? (ServerFault)


Thus, adding a PRIMARY KEY on an InnoDB table with no PRIMARY KEY buys you nothing but another index.

Another headache in this regard is the fact that all lookups must eventually end up in the gen_clust_index, especially with secondary indexes. In fact, loadding data into an InnoDB table with secondary indexes will pile up changes in the Insert Buffer of the System Tablespace (See Pictorial Representation of ibdata1)