Parametros de postgres

Vuelvo al tema de indices y optimización de consultas.

Siguiendo los consejos del tema reduje la cantidad de datos de 46millones a 12millones dejando solo los del año en curso. Hice un vaccum analyze y cree indices por auditoria_fecha en la tabla logs_dh03. El inconveniente es que siguen haciendo un escaneo secuencial para la consulta que mostré antes.

siuanterior=# EXPLAIN SELECT DISTINCT nro_legaj, nro_cargo FROM mapuche_auditoria.logs_dh03 WHERE (TRUE) AND auditoria_fecha::date BETWEEN ‘2015-05-01’ AND ‘2015-05-11’;
QUERY PLAN

HashAggregate (cost=2816013.33…2816084.40 rows=7107 width=8)
→ Seq Scan on logs_dh03 (cost=0.00…2815658.02 rows=71062 width=8)
Filter: (((auditoria_fecha)::date >= ‘2015-05-01’::date) AND ((auditoria_fecha)::date <= ‘2015-05-11’::date))

Si a esta consulta le agrego el campo usuario, el reporte sale en 2 segundos usando un indice creado para (auditoria_usuario, auditoria_fecha)

siuanterior=# EXPLAIN SELECT DISTINCT nro_legaj, nro_cargo FROM mapuche_auditoria.logs_dh03 WHERE (TRUE AND auditoria_usuario IN (‘faas’)) AND auditoria_fecha::date BETWEEN ‘2015-05-01’ AND ‘2015-05-11’;
QUERY PLAN

HashAggregate (cost=2025.31…2025.32 rows=1 width=8)
→ Index Scan using ix_logs_dh03_auditoria_fecha_usuario on logs_dh03 (cost=0.00…2025.29 rows=5 width=8)
Index Cond: ((auditoria_usuario)::text = ‘faas’::text)
Filter: (((auditoria_fecha)::date >= ‘2015-05-01’::date) AND ((auditoria_fecha)::date <= ‘2015-05-11’::date))
(4 filas)

El problema estará con las fechas? Todavía tengo muchos registros y debería volver a recortar las tablas?