# Index use and access paths

If you define an index on a column or columns, the query optimizer can use the index to find data in the column more quickly. Derby automatically creates indexes to back up primary key, foreign key, and unique constraints, so those indexes are always available to the optimizer, as well as those that you explicitly create with the CREATE INDEX command. The way Derby gets to the data-via an index or directly via the table-is called the access path.

- What is an index?
- What's optimizable?
- Covering indexes
- Useful indexes can use qualifiers
- When a table scan Is better
- Indexes have a cost for inserts, updates, and deletes

Parent topic: Performance and optimization
Related concepts
Joins and performance
Derby's cost-based optimization