>Fora indices binários, gostaria de saber qual ferramente que não usa um indice por saber que ele não será bom para o consulta. Pois em todos explain que dou em bancos de dados eles usam os indices disponíveis, quem define se ele é bom ou mal para a consulta é o DBA.
Se vocé suspeita que um índice é mau para a optimização, pode deshabilitá-o de diversas maneiras. Por exemplo, pode criar um índice com um filtro. O filtro pode incluir todos os registros.
Também pode deshabilitar um índice para uma consulta específica. Por ejemplo, a consulta:
select * from Movimento;
where Cliente = "abc" and MovementDate >= {^1990-01-01}
... usará um índice por MovementDate. Isto pode selecionar muitos registros para o índice MovementDate.
Se vocé cambiar a consulta a:
select * from Movimento;
where Cliente = "abc" and MovementDate + 1 >= {^1990-01-01} + 1
está deshabilitando o índice por MovementDate, ja que nao concorda exatamente com a condição.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)