![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 13.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Posiadam bazę danych miejscowości (+/- 50 000 rekordów ) oraz wyszukiwarkę która w czasie rzeczywistym wykonuje zapytania ( poprzez AJAX'a ).
Zapytanie jest wykonywane do bazy przy każdym keyupie , oraz w jednym czasie są wykonywane 3 zapytania ( ze względu na to że najpierw zależy mi aby były wyświetlane wszystkie miasta które są stolicami województw, a później te które występują w danym województwie (a mają podobną, taką samą nazwę) a na końcu wszystkie inne miasta mające taką samą nazwę. W jaki sposób mogę zoptymalizować zapytanie do bazy i zmniejszyć ilość zapytań by nie stracić na funkcjonalności. Ten post edytował adam1024 26.05.2015, 18:43:55 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 13.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod $query= "SELECT DISTINCT SQL_CACHE woj, pow, msc FROM miasta WHERE pow <> '$pow' AND msc LIKE %s ORDER BY woj ASC, msc ASC LIMIT 500 "; indeksów raczej nie mam a już napewno nie na 3 pierwsze znaki |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 24 Dołączył: 12.05.2013 Skąd: Hamburg Ostrzeżenie: (0%) ![]() ![]() |
Kod $query= "SELECT DISTINCT SQL_CACHE woj, pow, msc FROM miasta WHERE pow <> '$pow' AND msc LIKE %s ORDER BY woj ASC, msc ASC LIMIT 500 "; indeksów raczej nie mam a już napewno nie na 3 pierwsze znaki Nie wiem co jest w %s więc nie wiem czy indeks ma sens czy nie. Pytanie jest proste. Masz wildcard (%) na początku szukanego ciągu znaków czy nie. Jeśli to Twoja baza to chyba wiesz, czy masz na kolumnie indeks czy nie... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 08:21 |