Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.11.2005 Ostrzeżenie: (0%)
|
Witam,
Od pewnego czasu zaczynam mieć problem z zapytaniem, które do tej pory chodziło wydajnie ale wraz rosnącą liczbą rekordów w bazie strasznie spowolniło. Mam tabele 'dane', która aktualnie posiada coś około 24 mln rekordów z danymi analitycznymi zebranymi ze stron naszych klientów. Struktura tabeli wygląda następująco:
Dodatkowo na tabele nałożone są 4 indeksy + PRIMARY. Zapytanie, które chcę wykonać służy do pobrania danych analitycznych z pól positive i negative gdzie website_id = ? oraz z zakresu 7 dni. Zapytanie wygląda tak:
Jak widać używam FORCE INDEX website_getAllCurrent, który nałożony jest na pola: website_id, stamp, positive, negative. Przykłądowe zapytanie bez FORCE INDEX:
Explain takiego zapytania:
Czas wykonania: 67 sekund Prosiłbym o pomoc jak można by było przyspieszyć takie zapytanie. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
Mysql Partycjonowanie po dacie np. rok+mc porawi znacznie wydajność.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 20:37 |