# 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.
Parent topic: Index use and access paths
Related concepts
What is an index?
What's optimizable?
Covering indexes
Useful indexes can use qualifiers
When a table scan is better