Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Indeksy, jak je rozłożyc?
tumeks
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 10.11.2003
Skąd: Poznań

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


Witam! Mam pytanie odnośnie indeksów w MySQL'u posiadam grę www.knights.pl gra już troche ma i baza danych jest bardzo duża i teraz pytanie jak rozłożyć indeksy aby gra działała szybciej? Z tego co czytałem i zrozumiałem to indeksy nakłada się na te pola które umieszczam w WHERE - index do liczb, a FULLTEXT dla tekstu.

Powiedzmy że mam tabele:
Kod
id     
nazwa     
atak     
obrona     
hp     
exp     
exp1     
zloto     
zloto1     
lvl     
obr_min     
obr_max     
img

dane wyszukuje według lvla, więc index nałożyć tylko na pole "lvl" ? oczywiscie w zapytaniu pobieram wszytkie dane.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Denver
post
Post #2





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Giżycko / Wrocław

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


Przeszukaj dokumentację MySQL'a pod kątem polecenia "EXPLAIN ...". Rezultat tego polecenia w znacznej mierze pomoże Ci we właściwym doborze indeksów.
Go to the top of the page
+Quote Post
Indeo
post
Post #3





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

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


Po pierwsze indeksy nakłada sie na pola, będące węzłami relacji pomiędzy tabelami na zasadzie towary.id_towaru = dostawcy.id_towaru. Po drugie tak jak napisałes - na polach po których dużo sie szuka lub sortuje. Warto tez zastanowić się czasami nad bardziej złożonymi kluczami (kombinacja pól, unikalność).
Go to the top of the page
+Quote Post
tumeks
post
Post #4





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 10.11.2003
Skąd: Poznań

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


No to tak posłuchałem waszych rad ale mam pewien dylemat tak jak pisza dodanie indeksu przyspisza wyszukiwanie ale zwalnia dodawanie i edytowanie skoro mam np. tabele w ktorej sa zachowane postacie i tam prawie co pochwila jest jakis update opłaca się tam rzucić indeks? Czy np. w karczmie (chat) w której bardzo dużo osob pisz rzucic na treść fulltext?
Go to the top of the page
+Quote Post
Denver
post
Post #5





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Giżycko / Wrocław

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


Nikt Ci nie poda konkretnej odpowiedzi: tak, indeks jest potrzebny, lub nie, zrezygnuj z indeksów w Twojej bazie. Musisz mocno przetestować oba rozwiązania i wybrać te, które będzie najlepsze dla użytkowników. W większości przypadków radzę jednak indeksy założyć. Nie spotkałem się jeszcze z bazą, której to jakoś wybitnie zaszkodziło, natomiast wiele razy indeksy ratowały mnie przed fatalną wydajnością zapytań.
Go to the top of the page
+Quote Post

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: 25.08.2025 - 16:31