Tengo una consulta SQL muy simple:
SELECT COUNT(DISTINCT x) FROM table;
Mi mesa tiene aproximadamente 1.5 millones de filas. Esta consulta se ejecuta muy lentamente; toma alrededor de 7.5s, en comparación con
SELECT COUNT(x) FROM table;
que dura unos 435 ms. ¿Hay alguna forma de cambiar mi consulta para mejorar el rendimiento? He intentado agrupar y hacer un conteo regular, así como poner un índice en x; ambos tienen el mismo tiempo de ejecución de 7.5s.
\d
resultado psql
es bueno) y especifique la columna con la que tiene problemas. Sería bueno ver EXPLAIN ANALYZE
ambas consultas.