[php] Database querytijd berekenen?*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat kan ik het beste doen? volgens jullie experts?

3 functies maken
1. do_query($query)
2. total_query_items($query)
3. get_query_item($query)

die de 'querys' doet en de resultaten geeftdeze begint met een time start en time end?

of voor iedere aanroep in je database de start time te doen en de sluit time?

of hoe doen jullie dat, ik ben benieuwd!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
want nu zie ik net dit

code:
1
2
Total: 0,135 | Incl: 0,03, Init: 0,049, Action: 0,072 
| DB: 0,049, Tpl: 0,026 | SV: achelois.webmagix

Total kan ik berekenen, easy
Includes laden, simpel
Init (config) doen, ook easy
Action? gewoon't script runnen?
DB (zie boven)
Template :) wederom simpel
en server is ook te doen!

[ Voor 4% gewijzigd door Verwijderd op 10-01-2003 21:17 ]


Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
euh, het kan aan mij liggen, maar mis ik niet een duidelijke omschrijving van wat je wilt ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
pkouwer schreef op 10 januari 2003 @ 21:21:
euh, het kan aan mij liggen, maar mis ik niet een duidelijke omschrijving van wat je wilt ?
:? zou ik het anders proberen te vermelden.

Ik wil de tijd berekenen van de queries die ik doe, ik heb alleen keuze uit 2 manieren; zie bovenstaande maar wil eens weten welke ik volgens jullie kan gebruiken/doen of heeft iemand betere tips om dit te berekenen.

verder moet topic titel niet beginnen met GOT maar met PHP :) |:(

Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 09:24

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

maak een functie mysql_query_count, waarin je begint met de begin-parsetime te meten, query doen, stop parsetime en return result :?

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Als je eens uitlegt wat het verschil is tussen die drie functies :{

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nielsz schreef op 10 January 2003 @ 21:41:
Als je eens uitlegt wat het verschil is tussen die drie functies :{
dat is toch niet zo moeilijk te begrijpen, of steeds in je code extra lijnen neer zetten of speciale functies voor je queries te maken :?

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 10 January 2003 @ 21:46:
[...]


dat is toch niet zo moeilijk te begrijpen, of steeds in je code extra lijnen neer zetten of speciale functies voor je queries te maken :?
ik heb sowieso altijd een speciale functie die queries uitvoert, onder andere omdat ik wel s de tijd die daarvoor nodig is wil weten, maar ook omdat ik bijv. alle queries op t scherm wil zien (wordt soms wel een zooitje :P), of bijvoorbeeld omdat ik queries wil loggen, etc, etc. Imo zijn er veel voordelen om voor je queries een functie te schrijven die ze uitvoert en het resultaat teruggeeft.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
K.. ik ga ff spielen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
wauw!! nu heb ik reeds het volgende gefixt :)

code:
1
2
Page build in 21 queries..
Total time: 0.3215 | Proc: 0.2487 | DB: 0.2322 | Parser: 0.0728


tis niet super maar qua bewerking geweldig!

Acties:
  • 0 Henk 'm!

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Verwijderd schreef op 10 January 2003 @ 23:33:
wauw!! nu heb ik reeds het volgende gefixt :)
Fijn voor je dat het gelukt is, maar ga je ons ook nog vertellen hoe je het nu precies hebt gedaan?
Wellicht interessant voor mensen die straks met dezelfde vraag zitten. ;)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jawel ik ga dat strax ff doen :)

Acties:
  • 0 Henk 'm!

  • Yinchie
  • Registratie: Januari 2003
  • Laatst online: 07-09 13:30
hrmmm hoe bereken je al dat...
Plaats aub je scriptje? ;)

* Yinchie is nog php noobske

Acties:
  • 0 Henk 'm!

  • Steven
  • Registratie: December 2000
  • Laatst online: 05-07 21:17
Deze functie heb ik ooit is van iemand overgenomen en die werkt erg fijn:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function timing($command)
{   
    global $starttime, $endtime;    
    if($command == 'start') 
    {      
        $mtime1     = microtime();       
        $mtime1     = explode(" ",$mtime1);      
        $mtime1     = $mtime1[1] + $mtime1[0];       
        $starttime  = $mtime1;    
    }  
    elseif($command == 'end')  
    {    
        $mtime2     = microtime();    
        $mtime2     = explode(" ",$mtime2);    
        $mtime2     = $mtime2[1] + $mtime2[0];    
        $endtime    = $mtime2;    
        $totaltime  = ($endtime - $starttime);    
        $totaltime  = round($totaltime,6);    
        return $totaltime;  
    }
}

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Heel fijn ja. Behalve als je meerder timers gaat laten lopen.
Maark er gewoon een class van.

Acties:
  • 0 Henk 'm!

  • Steven
  • Registratie: December 2000
  • Laatst online: 05-07 21:17
Nielsz schreef op 11 January 2003 @ 16:10:
Heel fijn ja. Behalve als je meerder timers gaat laten lopen.
Maark er gewoon een class van.
hmm... Goed punt. Ik heb hem eigenlijk alleen nog maar gebruikt om de parsetime v.d. complete pagina uit te rekenen ;)

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class timer
    {
    var $startTime;
    var $endTime;

    function timer()
        {
        list($usec, $sec) = explode(" ",microtime());  
        $this->startTime = ((float)$usec + (float)$sec);  
        }

    function stop()
        {

        list($usec, $sec) = explode(" ",microtime());  
        $this->endTime = ((float)$usec + (float)$sec);
        return round($this->endTime - $this->startTime,7);
        }
    }

Niet helemaal correct OO, maar who cares ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het nu zo gedaan

PHP:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
function do_mysql_query($sql)
{
    $start = getDbTime();

    $query = mysql_query($sql) or errorHandler(1, $PHP_SELF, $sql, mysql_error());

    $GLOBALS['dbtime'] = $GLOBALS['dbtime'] + (getDbTime() - $start);
    $GLOBALS['sqlquerycounter']++;

    return $query;
}

function do_mysql_fetch_object($query)
{
    $start = getDbTime();

    $list = mysql_fetch_object($query);

    $GLOBALS['dbtime'] = $GLOBALS['dbtime'] + (getDbTime() - $start);

    return $list;
}

function do_mysql_num_rows($query)
{
    $start = getDbTime();

    $res = mysql_num_rows($query);

    $GLOBALS['dbtime'] = $GLOBALS['dbtime'] + (getDbTime() - $start);

    return $res;
}

function do_mysql_result($query)
{
    $start = getDbTime();

    $res = mysql_result($query,0);

    $GLOBALS['dbtime'] = $GLOBALS['dbtime'] + (getDbTime() - $start);

    return $res;
}

function do_mysql_insert_id($query = NULL)
{
    $start = getDbTime();

    if ($query == NULL)
    {
        $res = mysql_insert_id();
    }
    else
    {
        $res = mysql_insert_id($query);
    }

    $GLOBALS['dbtime'] = $GLOBALS['dbtime'] + (getDbTime() - $start);

    return $res;
}


leek me wel makkelijk, zo kan je errors afvangen, per query berekenen wat de tijd was dat het koste ;) lekker gemakkelijk.

[ Voor 6% gewijzigd door Verwijderd op 12-01-2003 10:13 . Reden: php codetags ipv code ]

Pagina: 1