Wat moet jij gebruiken?

Met dank aan Jan Koehoorn

Men neme een MyISAM tabel met 200.000 records gevuld met random waarden

Velden: id (INT4),cijfer (INT4), tekst (VARCHAR 255), datum (DATE), tijd1 (TIME), tijd2 (TIME)

Testcode:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
    require('db_config.php');
    
    function
get_microtime()
    {

        list($usec, $sec) = explode(" ", microtime());
        return((float)$usec + (float)$sec);
    }

    
    $sql = "
    SELECT cijfer, tekst, datum, tijd1, tijd2
    FROM phphulp"
;
    if (!($res = mysql_query($sql))) {
        trigger_error(mysql_error());
    }

    else {
        $start = get_microtime();
        while ($row = mysql_fetch_assoc($res)) {
            // deze steeds aangepast
        }
        $stop = get_microtime();
        $tijd = $stop - $start;
        echo 'Tijd: ' . $tijd;
    }

?>


Resultaten:

mysql_fetch_array:
Tijd: 1.04317808151
Tijd: 1.02631306648
Tijd: 1.03138113022
Tijd: 1.01798200607
Tijd: 1.01716589928


mysql_fetch_object():
Tijd: 1.35628700256
Tijd: 1.38205504417
Tijd: 1.38648200035
Tijd: 1.37615299225
Tijd: 1.39009308815


mysql_fetch_assoc():
Tijd: 0.750518083572
Tijd: 0.665653944016
Tijd: 0.712239027023
Tijd: 0.701236963272
Tijd: 0.705749034882

mysql_fetch_row():
Tijd: 0.53831410408
Tijd: 0.535464048386
Tijd: 0.53640294075
Tijd: 0.540419101715
Tijd 0.544956922531

Hier uit kun je concluderen dat mysql_fetch_row() de snelste is van eerdergenoemde manieren. Zelf vind ik dit niet de handigste manier, omdat ik zelf altijd een beetje duizellig wordt van al die nummertjes.

Het liefst gebruik ik zelf mysql_fetch_array(). Ik weet niet precies waarom, maar ik voel mij goed bij het idee dat het niet uitmaak hoe ik de waarden aanroep(geindexeerd of geassocieerd).

Ik hoop dat je wijzer bent geworden van deze tutorial, verder raad ik je aan alles wat ik heb gezegt nog even te proberen, zodat wanneer ik een foutje gemaakt heb in deze tutorial, of als er iets onduidelijk is, je een beetje achtergrond kennis hebt :)

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Waarom deze tutorial?
  2. mysql_fetch_array()
  3. mysql_fetch_assoc()
  4. mysql_fetch_row()
  5. mysql_fetch_object()
  6. Wat moet jij gebruiken?

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.