Raskest kode?

Tags:    php

Hei! Er det noen her som kan fortelle meg om det er mye forskjell på bruk av systemressurser, eller hvilken som er raskest med disse versjonene av en kode som gjør akkurat det samme?:
Fold kodeboks ind/udKode 


Fold kodeboks ind/udKode 

-------------------------------------
I am AGAINST TCPA!!
[ http://www.againsttcpa.com/ ]
-------------------------------------
Mvh
DiZpel

[Redigeret d. 09/01-05 03:15:51 af DiZpel]



2 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Løsning #2 er bedst - synes jeg.

I den første laver du en counter, som fylder et array. Hvis du i tabellen "counter" har 10.000 rækker, skal systemet tælle til 10.000 før den går videre.. Det er ikke særligt godt.
Funktionen in_array er hurtig, men det tager stadig tid for den at søge gennem 10.000 værdier.
I metode #1 trækker du alt data ud af din tabel. Det betyder at serveren skal behandle langt mere data end på måde #2.
Det betyder ikke så meget som de første ting, men det er usmart når man han en bedre og hurtigere måde...

Løsning #1 bruger du $i som counter og som tildeler af nøgleværdier til dit array. Det er overflødig da den jo tildeler på samme måde som hvis du havde skrevet $ips[], nemlig 0,1,2,3,4,...,n+1

Desuden er løsning #2 kortere og pænere at se på :)





[Redigeret d. 09/01-05 12:20:32 af JT]



Personligt ville jeg nok lave den om til følgende (sådan ca.):
$data = @mysql_fetch_array(@mysql_query("SELECT COUNT(ip) FROM counter"));
$hits = $data[0];

Du ikke hive "alt det data ud" (alle IP'erne), hvis du blot ønsker at vide antallet af records - brug i stedet COUNT.

mikl-dk | udv@mikl.dk



t