Indexes have a cost for inserts, updates, and deletes

Derby has to do work to maintain indexes. If you insert into or delete from a table, the system has to insert or delete rows in all the indexes on the table. If you update a table, the system has to maintain those indexes that are on the columns being updated. So having a lot of indexes can speed up select statements, but slow down inserts, updates, and deletes.
Note: Updates and deletes with WHERE clauses can use indexes for scans, even if the indexed column is being updated.
Related concepts
What is an index?
What's optimizable?
Covering indexes
Useful indexes can use qualifiers
When a table scan Is better