![]() |
![]() |
![]()
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:
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) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 380 Pomógł: 2 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 18.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
DeyV zadal tylko jedno pytanie wiec za duzego wyboru nie masz... hmm... Kod select count( ip ) from staty where date_trunc('month', klikniete_data) > 1 and strona_id = 3; wg mnie zliczy wszystkie ip "jak leci" dla strona_id = 3 Kod select count(distinct(ip)) from staty where date_trunc('month', klikniete_data) > 1 and strona_id = 3; to zliczy ilość unikalnych dla strona_id = 3 ale może się mylę... Jednak przy dużych ilościach danych osobiście wolę "generować" tego typu wyniki raz i zapisywać je w tabeli - często w przyszłości się przydają. pozdrawiam PS. a jakie masz założone indeksy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) data + strona_id (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) jeśli tak to może pomyśl nad indeksem funkcyjnym... Kod CREATE INDEX nazwa ON tabela USING btree (date_trunc('month', klikniete_data),strona_id); piszę "z palca" więc sprawdź czy zadziała Ten post edytował wojtekmki 19.04.2007, 11:22:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 05:24 |