![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 3.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam fragment kodu w którym dana funkcja w w pętli for nawet do 7 000 razy. Moje pytanie brzmi czy można jakoś przyspieszyć wywoływanie tej funkcji. Można by zrezygnować z samej funkcji i wkleić kod w for ale to rozwiązanie nie wchodzi w grę. Czy istnieje coś takiego jak w funkcja inline w C++ (IMG:style_emoticons/default/questionmark.gif) Z góry dzięki za odpowiedzi.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To nie funkcja jest tutaj problemem ale ilość zapytań do bazy, nie robi się zapytań do bazy w pętli... a już na pewno nie takiej która się wykonuje 7k razy (IMG:style_emoticons/default/smile.gif) Nie wiem dokładnie jak działa Twoja funkcja, ale podejrzewam, że można to załatwić mniejszą ilością zapytań. W tej pętli możesz zamiast zapytań np zrobić sobie listę id rekordów z którymi chcesz coś zrobić (w takiej postaci: "12, 42, 53, 65") A później zrobić jedno zapytanie poza pętlą: 'SELECT xxx FROM xxx WHERE id IN ($lista_id)'. Rozwiązań jest wiele, ale nikt Ci nie udzieli jednoznacznej odpowiedzi jak nie wkleisz kodu.
pozdr. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 21:13 |