Avatar billede elskermad.dk Nybegynder
15. januar 2006 - 14:41 Der er 7 kommentarer og
1 løsning

optimere funktion til mysql-kald mest mulig

Hej Eksperter!

Jeg vil gerne høre hvordan jeg kan optimere understående funktion bedst muligt hvad angår serverkræft og tidsforbrug:

function hent($tabel,$felt,$hvor,$id) {
    $output = null;
   
    $foresp = mysql_query("SELECT " . $felt . " FROM " . $tabel . " WHERE " . $hvor . " = '" . $id . "'") or die(mysql_error());
    while($row = mysql_fetch_array($foresp)) {
            $output = $row[$felt];
    }
   
    return $output;
}

Meget gerne forklaring på hvordan den er gjort bedre osv :)

På forhånd tak!
Avatar billede ali.k Nybegynder
15. januar 2006 - 14:46 #1
Medmindre det er en ret stort database, med mange rækker osv. Har det minimal betydning selv hvis din kode ikke er 100 % optimal;)
Avatar billede hmortensen Nybegynder
15. januar 2006 - 14:48 #2
Kan sætte en limit på, så der ikke søges videre, når der er fundet et resultat.

function hent($tabel,$felt,$hvor,$id) {
   
    $foresp = mysql_query("SELECT " . $felt . " FROM " . $tabel . " WHERE " . $hvor . " = '" . $id . "' LIMIT 1") or die(mysql_error());
    if (mysql_num_rows($foresp) == 1)
    {
      return mysql_result($foresp, 0);
    } else {
      return false;
    }
}
Avatar billede elskermad.dk Nybegynder
15. januar 2006 - 14:52 #3
hvordan virker den der mysql_result ? tænkte nemlig på at det ikke var optimalt at køre den gennem en løkke når der kun var en række som skulle hentes
Avatar billede hmortensen Nybegynder
15. januar 2006 - 14:59 #4
Den henter data fra et specificeret felt i result sættet, som vil være 0 for det først felt i den første række.

Se evt. mere her: http://se.php.net/mysql_result
Avatar billede elskermad.dk Nybegynder
15. januar 2006 - 15:01 #5
har kigget i manualen, den skriver at nogen af de andre mysql-kald-funktioner er hurtigere? eller gælder det kun hvis man skal hente data fra mere end én kolonne i en række?
Avatar billede hmortensen Nybegynder
15. januar 2006 - 15:03 #6
Når der arbejdes på store resultat sæt, som man ikke kan kalde en række med et felt ;)
Avatar billede elskermad.dk Nybegynder
01. marts 2006 - 20:47 #7
smid et svar hmortensen
Avatar billede hmortensen Nybegynder
01. marts 2006 - 20:53 #8
Kommer her :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester