Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> kilka zapytań jedno po drugim
mrebiasz
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 8.12.2015

Ostrzeżenie: (0%)
-----


Witam,

Potrzebuję wykonać 3 zapytania jedno po drugim. Pierwsze tworzy tymczasową tabele zawierającą przetworzone dane (ca 1,5mln linii). Po wygenerowaniu jej kasowana jest tabela z której korzysta produkcyjnie serwis (zapytanie 2) i zmieniana jest nazwa tymczasowej tabeli na produkcyjną. IMO takie rozwiązanie powoduje, że czas niedostępności produkcyjnej bazy jest najkrótszy i zawsze zawiera ona świeże dane. Zapytania są wywoływane co 5 minut przez cron i tutaj mam problem. Zapytanie nr 1 liczy się ok. minuty. Mam wrażenie, że wszystkie 3 zapytania wykonywane są od razu jedno po drugim bez oczekiwania na wykonanie się pierwszego - mocno czasochłonnego. I to wywala całość. Ma ktoś pomysł jak to ugryźć?

Pozdrawiam,
Maciek
Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zoptymalizować strukturę bazy i zapytania tak, aby nie trzeba było usuwać starej, a póżniej zmieniać nazwy nowej tabeli.

Ten post edytował kapslokk 8.12.2015, 18:30:24
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


czy wykonujesz insert w jednej sesji?? plus o ile mieści się w ramach czasowych to powinieneś wszystkie zapytania wykonać w jednym pliku... jeśli musisz podzielić czasowo to powinieneś stworzyć jakiś prosty plik konfiguracyjny co wykonać przy następnym uruchomieniu cron'a...

ps. o ile w oryginalnej tabeli brakuje tylko nowszych danych bez jakichś skomplikowanych operacji to raczej lepszym rozwiązaniem było by ją zostawić i uzupełnić ją z tymczasowej poprzez insert z podzapytania na tymczasowej tabeli o dane nie występujące w oryginalnej...


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:10