Sim, o benefício surge quando você deseja consultar uma parte do índice. Se você colocar os predicados usados parcialmente, o índice poderá ser usado para consultas que envolvam esses predicados, mas não todas as colunas no índice.
Além disso, a menos que você tenha outros requisitos, pode ajudar a colocar os predicados mais seletivos em primeiro lugar, pois isso pode reduzir as operações de busca por índice mais rapidamente.
No seu caso, IDX_2não é necessariamente redundante, dependendo da natureza das consultas na tabela. No entanto, pode não ser necessário incluir todas as colunas. Se, por exemplo, você fizer muitas consultas locatione, em dateseguida, IDX_2for útil para ajudar a resolvê-las, IDX_1não está na ordem correta para ser útil para isso. Você pode, no entanto, achar que isso itemé redundante IDX_2.
A partir do 9i, a Oracle introduziu um operador 'skip scan' , no qual colunas de índice à direita podem ser consultadas com mais eficiência, o que pode reduzir a necessidade de índices adicionais desse tipo.
Em um caso mais específico, se você estiver consultando itempor locatione datee não precisa de qualquer outra coluna, em seguida, a consulta poderia ser completamente resolvidos embora o índice sem ter que ler qualquer coisa, desde a mesa. Você também pode criar índices de cobertura que tenham colunas não indexadas anexadas. Se todas as colunas necessárias puderem ser resolvidas a partir do índice de cobertura, a consulta não precisará tocar na tabela principal.
Finalmente, em resposta à sua última pergunta: se você possui um conjunto de consultas usadas regularmente, que estão consumindo muitos recursos e podem ser ajustadas usando um índice, certamente vale a pena considerar. No entanto, a manutenção de índices vem com uma sobrecarga nas inserções, portanto, você precisará trocar o desempenho da consulta pela sobrecarga que os índices colocam nas operações de inserção ou atualização.