Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wiele skomplikowanych operacji na SQLu
SoSiker
post 24.08.2009, 19:25:41
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 24.01.2009

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


Witam,

Mam pytanko. Obecnie pisze aplikację, która pobiera wiele rekordów około 1000 przetwarza je tworząc dla każdego rekordu po 5-10 informacji w tablicy. Wszystko jest sumowane itp. Niestety czas wykonywania skryptu wynosi powyżej 60s. (jest to nieakceptowalne oczywiście). Czy istnieją jakieś metody optymalizacji takich operacji.
Go to the top of the page
+Quote Post
Quantum
post 24.08.2009, 19:41:09
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


Jest na to wiele sposobów, optymalizuj same zapytania, obowiązkowo cache-uj ich wyniki, wprowadź stronicowanie.

Ten post edytował sniffer32 24.08.2009, 19:43:10
Go to the top of the page
+Quote Post
dr_bonzo
post 24.08.2009, 20:02:22
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


@SoSiker: nie mam sily wrzeszczec na ciebie, ale moze raczyl bys pokazac CO robisz i JAK to robisz, bo takto mozna ci odpowiedziec: popraw SQL, rob ile sie da w bazie, joinami itp.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Fifi209
post 24.08.2009, 20:07:21
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


1000 rekordów - 60 sek? Coś namieszałeś chyba.

1000 rekordów dla mysql to nic...


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
SoSiker
post 24.08.2009, 21:57:53
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 24.01.2009

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


Właśnie zdaje sobie z tego sprawy, że te 1000 rekordów to nie wiele (nie są one nawet związane jakimiś LEFT JOINAMI) :/ dopiero potem dzieją się różne rzeczy. Chodziłoby mi o zastosowanie Cache, jak miałbym to zrobić?

PS: proszę na mnie nie krzyczeć tongue.gif kodu nie mogę udostępnić bo nie należy do mnie :/
Go to the top of the page
+Quote Post
erix
post 24.08.2009, 22:29:15
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No to jak mamy Ci pomóc? O.o


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
thek
post 24.08.2009, 23:11:27
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Bez kodu to my możemy jedynie z fusów wróżyć co nie tak. Swoją drogą co ten kod robi, bo ja dziś sam pisałem zapytanie, które mialo połączyć dwie tabele (pierwsza 400 rekordów, druga ponad 1000) i od razu mi robiło update jedne kolumny pierwszej tabeli wartościami z pewnej kolumny 2 tabeli i jakoś nie trwało to specjalnie długo... Tyle to chyba operacje na ogromnej ilości plików trwają. Sam zajeżdżałem bibliotekę GD tworząc obrazki do własnego świata ( custom map w GoogleMaps API ). Ale to było sumarycznie kilkadziesiąt tysięcy plików jpg 256x256 i skrypt chodził kilkanaście minut. Po prostu się tak długi czas działania na bazie w głowie nie mieści...


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
golaod
post 25.08.2009, 08:45:06
Post #8





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Po pierwsze po co nam kod php jak mieliśmy Ci pomóc w SQL'u ? Po drugie z tego się nie da niczego konkretnego wyciągnąć bo wygląda to tak jakbyś nam z całego dania które mamy zjeść dał tylko widelec czy talerz. Pokaż wszystkie potrzebne zapytania sql które są wykonywane w trakcie tych 60 sekund. Mi się jednak osobiście zdaje, że zwracasz 1000 wyników i potem dla każdego z nich robisz oddzielne zapytania (nawet kilka niż jedno) które wysyłasz przez php.
Go to the top of the page
+Quote Post
golaod
post 25.08.2009, 09:03:08
Post #9





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Może źle zrozumiałeś moją ostatnią wypowiedź. By pomóc Ci przy zapytaniach SQL potrzebujemy...SQL'a ? Ja nie będę rozgryzać jakie tam magiczne metody są php które mi niby ormem tworzą zapytania. Prosimy zatem grzecznie - choć dziw, że jeszcze się prosić musimy - o ZAPYTANIA SQL.
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 Wersja Lo-Fi Aktualny czas: 29.06.2025 - 21:39