Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zapytanie na duzej tabeli, select count(distinct(ip)) ...
mac9
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 3.04.2007

Ostrzeżenie: (0%)
-----


Witam,

mam dosc spora tabele ktora trzyma staty odwiedzin (kilka milionow rekordow)

chce dostac ilosc unikalnych odwiedzin na stronie nr "3" od poczatku lutego:

  1. SELECT count(DISTINCT(ip)) FROM staty WHERE date_trunc('month', klikniete_data) >1 AND strona_id = 3 ;


indexy btree sa na klikniete_data oraz na strona_id

niby proste zapytanie ale bardzo dlugo mieli i zamula caly serwer.

explain daje cod takiego:

Kod
Limit  (cost=128878.77..128878.78 rows=1 width=17)
   ->  Aggregate  (cost=128878.77..128878.78 rows=1 width=17)
         ->  Bitmap Heap Scan on staty  (cost=224.93..128846.64 rows=12850 width=17)
               Recheck Cond: (strona_id = 3)
               Filter: ((date_trunc('month'::text, klikniete_data))::text > '3'::text)
               ->  Bitmap Index Scan on strona_id_idx  (cost=0.00..224.93 rows=38551 width=0)
                     Index Cond: (strona_id = 3)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 13:51