Sometimes a table scan is the most efficient way to access data, even if a potentially useful index is available. For example, if the statement returns virtually all the data in the table, it is more efficient to go straight to the table instead of looking values up in an index, because then Derby is able to avoid the intermediate step of retrieving the rows from the index lookup values.
SELECT * FROM Flights WHERE dest_airport < 'Z'
SELECT * FROM Flights WHERE dest_airport < 'B'
Only a few flights have airport codes that begin with a letter less than B.