![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 25.10.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich!
zmagam sie z problemem pobierania danych do wykresu. Chodzi o to, że użytkownik ma mozliwośc podania zakresu dat za jaki okres chce zobaczyć wykres. Danych za ten okres moze byc kilka, a może być 100milionów. Zakładam, że komponent wykresowy akceptuje powiedzmy 10000 punktów i tu pytanie: -czy mozna skonstruować takie zapytanie, aby w przypoadku gdy liczba rekordów wyniku była większa niż 100tysięcy to wtedy wyciągnie tylko co niektóre (kwestia algorytmu wyliczającego co ile punktów pobierać rekord do wyniku - np. jakiś mod) tak, żeby tabela końcowa wracająca z serwera do aplikacji miała nie wiecej niż te 100tysięcy wierszy? data zawarta w rekordach jest typu double (zmodyfikowana data julianska MJD). jesli ktoś bawił się z takim czymś to chetnie usłyszę którędy droga (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdrawiam Ten post edytował ky3orr 29.03.2009, 01:56:47 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat nospor-> widze ze nie zrozumiales tego co napisalem (szkoda). No sorki, ale napisales dosc wyraźnie: Cytat wystarczy zwykle zapytanie select * from stats order by date Inaczej tego raczej rozumiec nie mozna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) sprawdzenie ile zwrocilo rekordow: mysql_num_rows($uchwyt_do_zapytania) Cytat pozniej sprawdzasz if($ilosc_rekordow>100000) $step=round($iloscrekordow/100000); else $step=1; i na koniec w while($dane=mysq_fetch_array( $uchwyt_do_zapytania)){ mysql_data_seek($uchwyt_do_zapytania, $pozycja+$step); $pozycja=$pozycja+$step; Przeciez ty wtym przykladzie ewidentnie pobierasz z mysql wszystkie 20mln rekordow a dopiero potem stepem w php pobierasz tylko co ktorys. Zorientowales sie dopiero teraz ze sie myliles i starasz sie odwrocic kota ogonem choc i to ci nie wychodzi. weź wykonaj te dwa przyklady co ci podalem pare postow wczesniej to moze wkoncu do ciebie dotrze w jak wielkim bledzie jestes Jesli tego nie zrobisz, dalsza dyskusja wydaje sie raczej zbedna Cytat i wyciagnac z tego 120 rekordow zauwaz ze my tu mowimy o tabeli ktora ma liczbę rekordow liczoną w milionach i chcemy z tego wyciągnac 100tys a nie nedzne 120 rekordów
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 19:39 |