Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wiele skomplikowanych operacji na SQLu
Forum PHP.pl > Forum > PHP
SoSiker
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.
Quantum
Jest na to wiele sposobów, optymalizuj same zapytania, obowiązkowo cache-uj ich wyniki, wprowadź stronicowanie.
dr_bonzo
@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.
Fifi209
1000 rekordów - 60 sek? Coś namieszałeś chyba.

1000 rekordów dla mysql to nic...
SoSiker
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 :/
erix
No to jak mamy Ci pomóc? O.o
thek
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...
golaod
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.
golaod
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.