![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam
posiadam tabele w której gromadzę wydarzenia wg daty oraz typu (max 20 typów) ,tabela będzie zawierać max 100.000 rekordów ,a dane będą wyszukiwane według typu i daty , chciałbym założyć odpowiednie klucze dla tabeli aby przyśpieszyć wyszukiwanie rekordów z tabeli.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 8 Dołączył: 13.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Skoro wyszukujesz według typu i daty to daj indeksy właśnie na te pola, jeśli zawsze wyszukujesz po obu to wystarczy jeden index na 2 pola.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli będziesz używał zawsze typu i daty to tak:
Kolejność nie jest przypadkowa. Dla zapytań tylko z datą lepszy był by klucz zapisany `date`,`type`. Sam musisz sobie odpowiedzieć na pytanie, czy czasem zdarzy ci się używać do wyszukiwania samej daty. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
@mkozak:
Ja bym z założenia zrobił indeks na obu kolumnach, ale w odwrotnej kolejności niż Ty podałeś (czyli najpierw date, potem type). Dlaczego? Domyślam się, że w polu date będzie większy "rozrzut" danych, natomiast kolumna type będzie zawierała zapewne kilka z góry zdefiniowanych wartości (np. od 1 do 10). W takim przypadku mój indeks będzie wydajniejszy od Twojego. No i od razu mamy możliwość wyszukiwania tylko i wyłącznie po dacie. Typ? No coś za coś (IMG:style_emoticons/default/smile.gif) Zawsze można dodać kolejny indeks tylko dla typu, ale to może okazać się zbędne (konieczna będzie analiza użycia indeksów po jakimś czasie użytkowania). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:14 |