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%)
|
Nie posiadam informacji o tym czy dane miasto jest stolicą, takie rzeczy sprawdzam w switchu po stornie php ( jest x warunków tak żeby przekierować konkretnie zapytanie jeśli przekazana wartość to np. Kraków wtedy przekazuję województwo-> małopolskie, powiat -> kraków, miasto ->kraków. Zapytania są jak najbardziej w porządku, bardzo szybko się wykonują, jednak jest ich bardzo dużo z racji tego że wykonują się one na żywo...
czyli w przypadku gdy użytkownik wpisuje słowo kraków, mamy 6 zapytań ( bo tyle jest liter ): 1-> k 2-> kr 3-> kra 4-> krak 5-> krakó 6-> kraków do tego wykonanie 3 zapytań czyli: 1: jeśli przeleci przez switcha w php ( czyli miasto jest stolicą ) -> zapytanie o wynik 2: kolejne zapytanie to wyszukiwanie innego krakowa z województwa małopolskiego 3: i jeszcze jedno zapytanie to wyszukanie innego krakowa z poza województwa małopolskiego co w sumie na jedno zapytanie daje 6*3 =18 zapytań... oraz przy kasowaniu frazy ( keyup ) też działa ten sam mechanizm tylko od tyłu... więc to daje kolejne 18 zapytań i jak tutaj dokonać optymalizacji tego, zostawiając całkowitą funkcjonalność? |
|
|
|
adam1024 Bardzo duża ilości zapytań - jak rozwiązać problem nie tracąc funkcjonalności 26.05.2015, 18:41:16
ctom skoro piszesz, że +/- masz skończoną ilość rekordó... 26.05.2015, 19:13:41
sazian w tabeli zapewne masz kolumnę informującą w jakim... 26.05.2015, 20:10:02
Pyton_000 Poza tym dodaj opóźnienie na keyup żeby nie szło z... 26.05.2015, 21:21:05
Skie 1. Dodaj cache'owanie wyników z bazy danych - ... 26.05.2015, 21:31:32
Xelah Jeszcze odnośnie samego zapytania. Jeśli wyszukuje... 27.05.2015, 06:59:51
adam1024 Kod$query= "SELECT DISTINCT SQL_CACHE woj... 27.05.2015, 07:38:42 
Xelah Cytat(adam1024 @ 27.05.2015, 08:38:42... 27.05.2015, 08:14:35
Turson Moja propozycja jest taka, żebyś nie odpytywał baz... 27.05.2015, 07:43:49
adam1024 Turson teraz odpytuję co 3 s. po ostatnim keyupie,... 27.05.2015, 07:48:11
adam1024 nie mam % na początku szukanego ciągu znaków, na k... 27.05.2015, 08:36:21
Xelah W takim razie, przy 50k rekordach ma sens dodać in... 27.05.2015, 09:00:00
sazian LIKE ignoruje indeksy 27.05.2015, 20:12:12 
Pyton_000 Cytat(sazian @ 27.05.2015, 21:12:12 )... 28.05.2015, 06:49:48 

sazian Cytat(Pyton_000 @ 28.05.2015, 07:49:4... 1.06.2015, 17:15:58 

Xelah Cytat(sazian @ 1.06.2015, 18:15:58 ) ... 2.06.2015, 07:02:10 
Xelah Cytat(sazian @ 27.05.2015, 21:12:12 )... 28.05.2015, 06:56:34 
pasman Cytat(Xelah @ 28.05.2015, 07:56:34 ) ... 29.05.2015, 09:54:16
adam1024 mam jeszcze jedno pytanie
muszę wybrać jedną wart... 28.05.2015, 06:31:26
Crozin Może pomyśl nad wykorzystaniem narzędzia typu Apac... 29.05.2015, 10:15:17
Pyton_000 To chyba armata na komara. Wydajnościowo powinno w... 29.05.2015, 11:25:51
Crozin CytatTo chyba armata na komara.Jeden z głupszych a... 29.05.2015, 11:27:44
Pyton_000 Argument ogólnikowy
Chodzi o to że przy tak małej... 29.05.2015, 12:08:29
rad11 Skorzystaj z api sphinx`a znacznie przyspieszy... 29.05.2015, 13:12:02
Pyton_000 @sazin, co innego nie korzysta (wcale) a co innego... 2.06.2015, 06:27:25 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 00:25 |