Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Może ktoś pomoże zoptymalizować "to coś"?, Będę bardzo wdzięczny :)
ApC
post
Post #1





Grupa: Zarejestrowani
Postów: 121
Pomógł: 0
Dołączył: 22.09.2007

Ostrzeżenie: (20%)
X----


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ń sad.gif

Ten post edytował ApC 1.02.2008, 20:24:51
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Tubis
post
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
Go to the top of the page
+Quote Post
ApC
post
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 0
Dołączył: 22.09.2007

Ostrzeżenie: (20%)
X----


Cytat(Tubis @ 1.02.2008, 20:27:34 ) *
Oczywiście że sie da. Wystarczy mysql_numrows zamienic na COUNT(*). Dokladniej sobie poszukaj na tym forum albo w kursach sqla

A moze bylbys taki dobry i pokazal w praktyce? Bo troche nie moge zrozumiec. Nigdy tego nie uzywalem.
Go to the top of the page
+Quote Post
em1X
post
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

  1. <?php
  2. $przyklad = @mysql_result(mysql_query("SELECT COUNT(*) FROM `userzy` WHERE `kiedy_pisal`>$byl"), 0);
  3.  
  4. print $przyklad;
  5. ?>


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
ApC
post
Post #5





Grupa: Zarejestrowani
Postów: 121
Pomógł: 0
Dołączył: 22.09.2007

Ostrzeżenie: (20%)
X----


@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 smile.gif

I co daje to " ), 0); " ... chodzi o to "0"? A te wszystkie zapytania z pierwszego postu nie mozna wrzucic jakos w jedno czy cos?

?
Go to the top of the page
+Quote Post
em1X
post
Post #6





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Cytat(ApC @ 1.02.2008, 21:12:37 ) *
@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 smile.gif


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ść.

Cytat(ApC @ 1.02.2008, 21:12:37 ) *
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.

Cytat(ApC @ 1.02.2008, 21:12:37 ) *
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
Go to the top of the page
+Quote Post
ApC
post
Post #7





Grupa: Zarejestrowani
Postów: 121
Pomógł: 0
Dołączył: 22.09.2007

Ostrzeżenie: (20%)
X----


Dzieki bardzo, naprawde mi sie przydalo smile.gif! I jeszcze czesto wykonuje zapytania:

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?
Go to the top of the page
+Quote Post
em1X
post
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ć? blinksmiley.gif


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
ApC
post
Post #9





Grupa: Zarejestrowani
Postów: 121
Pomógł: 0
Dołączył: 22.09.2007

Ostrzeżenie: (20%)
X----


Cytat(em1X @ 1.02.2008, 23:54:07 ) *
to znaczy co chcesz tutaj optymalizować? blinksmiley.gif

Tylko myślałem, że macie jakiś inny sposób smile.gif
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: 20.08.2025 - 10:40