![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
mam tabele w mysql : [SQL] pobierz, plaintext
i jeśli mam założony klucz : [SQL] pobierz, plaintext
i wyszukuję z tabeli rekordy w warunku WHERE user= wyszukiwanie trwa szybko ,lecz jeśli wyszukuję za pomocą WHERE friend= już nie jest tak różowo ,jak dobrac klucze aby przyspieszyć wyszukiwanie za pomocą drugiego sposobu ? Ten post edytował gothye 16.01.2010, 22:30:05 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Masz w manualu cały rozdział na ten temat.
http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html Podstawowa zasada: Zakładasz klucze na kolumny wg których szukasz. Klucze na kilku kolumnach działają 'od lewej'. Czyli twój klucz user zadziała w zapytaniu WHERE user = ?, WHERE user = ? AND friend = ?, ale WHERE friend = ? i WHERE friend =? AND user = ? nie zadziała. Dla drugiego przypadku potrzebujesz klucza, który zaczyna się od kolumny 'friend'. Ten post edytował Mchl 27.01.2010, 18:57:09 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 22:41 |