Gå til innhold

mysql_fetch_XXX, hvilken er best/raskest/etc?


Anbefalte innlegg

Videoannonse
Annonse

Antar at du mener *_fetch_assoc, *_fetch_array, og *_fetch_row (jeg tar ikke med fetch_object da den høyst sannsynlig er minst tregere enn de raskeste av de før nevnte alternativer). Hvis man resonnerer, så sier det seg selv at fetch_array er tregest da den henter BÅDE et assosiativt array, og et vanlig array. Videre er det nærliggende å tro at fetch_assoc er hakket tregere enn fetch_row, da fetch_assoc bruker et assosiativt array (antakelig internt representert som et hashtable, uten at jeg vet det for sikkert). Høyst sannsynlig er fetch_row den raskeste av dem alle.

 

Men, jeg anbefaler sterkt at du kjører en benchmark og ser selv hvor minimal forskjellen er. Jeg kan på det nærmeste garantere at den aldri vil komme til å ha noe å si for deg.

Lenke til kommentar

Jeg pleide å bruke _fetch_array() før, men av praktiske årsaker bruker jeg nå nærmest kun _fetch_object(). Det er mye mer praktisk å bruke objekter, da du slipper å styre med klammer og slikt hele tiden (det går mye raskere å programmere).

Lenke til kommentar
Jeg pleide å bruke _fetch_array() før, men av praktiske årsaker bruker jeg nå nærmest kun _fetch_object(). Det er mye mer praktisk å bruke objekter, da du slipper å styre med klammer og slikt hele tiden (det går mye raskere å programmere).

Samme her. Ser mye mer oversiktlig ut i tillegg :)

Lenke til kommentar

hastigheten til mysql_fetch_object():

    Performance:  Speed-wise, the function is identical to mysql_fetch_array(), and almost as quick as mysql_fetch_row() (the difference is insignificant).

 

mysql_fetch_array():

    Performance:  An important thing to note is that using mysql_fetch_array() is not significantly slower than using mysql_fetch_row(), while it provides a significant added value.

 

mysql_fetch_assoc():

    Performance:  An important thing to note is that using mysql_fetch_assoc() is not significantly slower than using mysql_fetch_row(), while it provides a significant added value.

 

Står ikke noe i manualen om hastigheten til mysql_fetch_row(), men det er minimalt med forskjeller. Det er altså nesten nøyaktig like god ytelse på mysql_fetch_assoc(), mysql_fetch_array() og mysql_fetch_object().

 

Personlig bruker jeg alltid mysql_fetch_object(), siden den er lettere og mer oversiktelig å bruke.

Lenke til kommentar

Som nybegynner i PHP må jeg spørre, bare for å ha klarert forskjellen (eventuelt IKKE forskjeller):

 

mysql_fetch_array henter naturlig nok ut alle treff på en spørring i arrays, mens myswl_fetch_row henter ut treff i rader?

Antar at jeg tenker feil når jeg tenker følgende: row er entall og henter kun et treff? At row vil hente alle treffene like godt som array?

 

Sikkert et dumt spørsmål, men vil anta det er kjekt å kunne :blush:

Lenke til kommentar

fetch_row henter et vanlig array (0=>'o2mlab', 10=>'Som nybegynner i PHP må jeg spørre'), fetch_assoc henter kolonnenavnene også (brukernavn=>'o2mlab', tekst=>'Som nybegynner i PHP må jeg spørre'), og fetch_array kombinerer disse to (fetch_row og fetch_assoc).

 

Bruk print_r(); for å se selv hva de forskjellige funksjonene returnerer.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...