Depende...
É bastante improvável que um índice em apenas
column1
será benéfico se você já tiver um índice composto em column1, column2
. Desde column1
é o índice principal, consultas na tabela que têm apenas column1
como um predicado poderá usar o índice composto. Se você estiver executando consultas com frequência que precisam fazer uma verificação completa do índice e a presença de column2
aumenta substancialmente o tamanho do índice, é possível que um índice apenas em column1
seria mais eficiente, pois a varredura completa do índice precisaria fazer menos E/S. Mas essa é uma situação bastante incomum. Um índice em apenas
column2
pode ser benéfico se algumas de suas consultas na tabela especificarem predicados apenas em column2
. Se houver relativamente poucos valores distintos de column1
, é possível que o Oracle possa fazer uma varredura de salto de índice usando o índice composto para satisfazer consultas que especificam apenas column2
como predicado. Mas uma varredura de salto provavelmente será muito menos eficiente do que uma varredura de intervalo, portanto, é razoavelmente provável que um índice em apenas column2
beneficiaria essas consultas. Se houver um grande número de valores distintos para column1
, a varredura de salto seria ainda menos eficiente e um índice apenas em column2
seria mais benéfico. Claro, se você nunca consultar a tabela usando column2
sem também especificar um predicado em column1
, você não precisaria de um índice apenas em column2
.