Mam bardzo proste zapytanie SQL:
SELECT COUNT(DISTINCT x) FROM table;
Moja tabela ma około 1,5 miliona wierszy. To zapytanie działa dość wolno; zajmuje to około 7,5 s, w porównaniu do
SELECT COUNT(x) FROM table;
co trwa około 435 ms. Czy istnieje sposób na zmianę zapytania w celu zwiększenia wydajności? Próbowałem grupować i regularnie liczyć, a także umieszczać indeks na x; oba mają ten sam czas wykonania 7,5 s.
\d
wynik psql
jest dobry) i sprecyzować kolumnę, z którą masz problem. Dobrze byłoby zobaczyć EXPLAIN ANALYZE
oba zapytania.