In fact, there may be a decrease in performance when dropping an index in a single column.
Suppose you execute a query with WHERE [Column1] = 123 . This could be resolved with the original index. A new index can also be used for this, but there will be - depending on the implementation - the need to read the values ββfor [Column2] in the index, even if they are not used.
So yes: it could theoretically be a drawback for lowering the index: increased reading.
[Update 9 sessions]
I recently came across a different situation where one index can be much better than a combined index.
Consider the huge error tables with the [status], [createdate] columns and some other fields. Most errors will be closed, so suppose the status is β0β (open) for 100 entries and β1β (closed) for 99,000 entries.
SELECT * FROM bugs WHERE status = '0' will greatly benefit from the index on status , while with SELECT * FROM bugs WHERE status = '1' index on status will not help.
Oracle will know the difference because it builds statistics on the index.
However, with a combined index on status, createdate each index entry is almost unique, and Oracle decides not to use the index to query SELECT * FROM bugs WHERE status = '0' because it guesses (by mistake) that the index did not help.
Thus, in this situation, one index should not be discarded just because it is a prefix of the combined index.
Note. Theoretically, Oracle could build even smarter index statistics, but it doesn't seem to.
source share