![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
Mam coś takiego:
$ostatnio=$time-800; $byl=$time-30; $pis=@mysql_num_rows(mysql_query("SELECT * FROM `userzy` WHERE `kiedy_pisal`>$byl")); $akt=@mysql_num_rows(mysql_query("SELECT * FROM `userzy` WHERE `kiedy`>$ostatnio")); $zap=@mysql_num_rows(mysql_query("SELECT * FROM `userzy`")); echo "Pisze: $pis <br> Online: $akt <br> Zarejestrowanych: $zap"; Da się to jakoś zoptymalizować? Mam wiele podobnych zapytań ![]() Ten post edytował ApC 1.02.2008, 20:24:51 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 2 Dołączył: 27.03.2007 Skąd: Sufczyn Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście że sie da. Wystarczy mysql_numrows zamienic na COUNT(*). Dokladniej sobie poszukaj na tym forum albo w kursach sqla
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
http://dev.mysql.com/doc/refman/5.0/en/select.html
-------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
@mysql_result(mysql_query("SELECT COUNT(*) FROM `userzy` WHERE `kiedy_pisal`>$byl"), 0);
jest szybsze od tego @mysql_num_rows(mysql_query("SELECT * FROM `userzy` WHERE `kiedy_pisal`>$byl")); Tak mam zrozumiec? Bo zastanawiam się co stosowac ![]() I co daje to " ), 0); " ... chodzi o to "0"? A te wszystkie zapytania z pierwszego postu nie mozna wrzucic jakos w jedno czy cos? ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
@mysql_result(mysql_query("SELECT COUNT(*) FROM `userzy` WHERE `kiedy_pisal`>$byl"), 0); jest szybsze od tego @mysql_num_rows(mysql_query("SELECT * FROM `userzy` WHERE `kiedy_pisal`>$byl")); Tak mam zrozumiec? Bo zastanawiam się co stosowac ![]() Oczywiście, że powinieneś stosować mój przykład. Postępujesz wbrew wszelkiej logice optymalizacji wyciągając WSZYSTKIE dane, zamiast kazać bazie wyciągnąć tylko tą szukaną ilość. I co daje to " ), 0); " ... chodzi o to "0"? a może byś do manuala zajrzał ? jak działa funkcja mysql_result" title="Zobacz w manualu PHP" target="_manual od tego w końcu jest, żeby go czytać zamiast zadawać pytania na forach po co i dlaczego. A te wszystkie zapytania z pierwszego postu nie mozna wrzucic jakos w jedno czy cos? możesz, tylko po co ? jeżeli już się przy tym upierasz to możesz wszystko połączyć przy pomocy UNION Kod select count(*) from ....
union select count(*) from ... union select count(*) from ... Ten post edytował em1X 1.02.2008, 21:30:25 -------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
Dzieki bardzo, naprawde mi sie przydalo
![]() mysql_query("UPDATE `userzy` SET `cos`='".$cos."', `inne`='".$inne."', `nastepne`='5' WHERE `id`='".$sesja['id']."'"); Czy cos takiego jest optymalne, czy moze uzywac czegos "bardziej" wydajnieszego, co proponujecie? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
to znaczy co chcesz tutaj optymalizować?
![]() -------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:40 |