Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 9.07.2010 Skąd: Warszawa Ostrzeżenie: (0%)
|
Witam!
Mam kod, który aktualizuje mi dane na stronie ale wykonuje się on dosyć długo ze względu na złożoność operacji jaką musi wykonać. Postanowiłem podzielić proces na pare razy przy użyciu ORDER BY RAND() i LIMIT. Strona działa dwa razy szybciej, ale gdzie nie spojrzę ORDER BY RAND() jest krytykowane z każdej strony. W normalnym zapytaniu aktualizowane są dane około 150 elementów, przy rand dałem limit 25. Drugą sprawę jest, że nie do końca rozumiem zapis tego kodu, dodałem komentarze tam gdzie wiem co się dzieję, a tam gdzie nie mam nadzieje że mi ktoś wyjaśni wtedy może będę miał możliwośc zrobienia czego samemu. Kod:
Struktura w bazie danych oraz nałożone indeksy: test_site(lista obiektów do których można się zapisać): (IMG:http://clip2net.com/clip/m106573/thumb640/1387410487-clip-234kb.png) test_sites(tutaj znajduję się liczone zapisy): (IMG:http://clip2net.com/clip/m106573/thumb640/1387410544-clip-86kb.png) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 9.07.2010 Skąd: Warszawa Ostrzeżenie: (0%)
|
Przerobiłem kod i udało mi się go zrobić porządnie (mam nadzieje) i o dziwi udało mi się go zamknąć w takim kodzie:
Postanowiłem skorzystać z tego, że mam dwa pola ilość zapisanych i limit (IMG:style_emoticons/default/smile.gif) Nie wiem czemu wcześniej programista mi tego nie zrobił i wymyślił taki skompilowany system, który zliczał za każdym razem od nowa ilość zapisanych. Nie wiem jaki magiczny wpływ ma to forum, ale już sami napisanie tematu pomaga (IMG:style_emoticons/default/smile.gif) Dziękuję za informację odnośnie rand (IMG:style_emoticons/default/smile.gif) Pozostało jeszcze jedno pytanie, czy powinienem jakoś zmodyfikować istniejące indeksy? Struktura wraz z obecnymi indeksami jest podana na scrennach w pierwszym poście. Ten post edytował boro11 19.12.2013, 07:50:44 |
|
|
|
boro11 [MySQL][PHP] ORDER BY RAND() - optymalizacja 19.12.2013, 00:49:14
Crozin Nie analizowałem Twojego kodu (za wcześnie :]), al... 19.12.2013, 07:21:07
Crozin 1. Wykonaj zapytanie EXPLAIN SELECT ... Twojego za... 19.12.2013, 08:00:56 ![]() ![]() |
|
Aktualny czas: 3.04.2026 - 00:41 |