Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Mam prostą tabelę INNODB. `aid` INT `time` INT `date` DATE W której przechowuje informacje o wizytach. Chciałbym pobrać liczbę wyświetleń z ostatnich X godzin np. z ostatnich 60 minut. Niestety zapytanie jest za ciężkie i zawiesza mi serwer (wykonywane jest dość często). Rekordów jest kilka milionów. W jaką stronę iść? Czy indeksy coś dadzą (nie jestem w stanie tego łatwo testować bo każda zmiana struktury trwa bardzo długo, więc metoda prób i błędów tutaj się nie sprawdza)? Czytałem że inno słabo sobie radzi z COUNT :/ Ten post edytował markonix 18.05.2015, 11:27:15 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 122 Dołączył: 17.07.2005 Skąd: P-na Ostrzeżenie: (0%)
|
jeśli indeksy nie pomogą to zapisz wynik do memcache i odejmuj z memcache dopóki > 0 jak będzie 0 pobierz na nowo
|
|
|
|
markonix [MySQL] Prosty COUNT i duży problem 18.05.2015, 11:26:42
johny_s indeksy zawsze pomagają na polach po których się s... 18.05.2015, 13:21:41
markonix Cache czego dokładnie? Użytkownikowi nie sprawi ró... 18.05.2015, 23:15:10
markonix Dodanie indeksu na time (na AID jest nałożony kluc... 19.05.2015, 18:05:24
mmmmmmm O indexach złożonych (np. dwukolumnowych) słyszał? 19.05.2015, 20:13:09 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 10:00 |