- Home
- Categorie
- Coding e Sistemistica
- PHP
- Numero di query per pagina?
-
Numero di query per pagina?
Ciao,
sapete un modo (o qualche funzione) per ricavare il numero di query utilizzate per generare una pagina??Per esempio su wordpress usando [php]<?php echo get_num_queries(); ?> queries, <?php timer_stop(1); ?> seconds.[/php]otteniamo il numero di query utilizzate e il tempo di esecuzione.
Però get_num_queries() è una funzione di wordpress, e a me servirebbe qualcosa per misurare il numero di query in un sito qualunque...
-
Non credo che esista un metodo valido per "un sito qualunque".
L'unica soluzione che mi viene in mente è creare una funzione ad hoc per eseguire le query, che tra le altre cose incrementa un contatore.
-
Puoi anche creare una semplicissima classe ad ogni tua query...
es
class contatore{
private $nums;
private $begin;
private $end;
function __construct($microtime){
$this->nums = "";
$this->begin = $microtime;
}
function query(){
$this->nums++;
}
function add($num){
$this->nums = $this->nums + $num;
}
function get_nums($microtime_end){$this->end = $microtime_end;
return return $this->nums." query in ".($this->end - $this->begin);
}
}Poi, all'inizio del file php scrivi
$counter = new contatore(microtime());Dopo ogni query scrivi
$contatore->query();
Se vuoi aggiungere un determinato numero di query, puoi fare
$contatore->add(10);Poi, alla fine, restituisci il numero di query
echo $contatore->get_nums(microtime());
-
Grazie per la funzione, per siti futuri magari la implementerò, però adesso ho risolto in un altra maniera...
Dato che ho la copia del mio sito anche in locale con il db e tutto,
ho installato un programma "MONyog MySQL Monitor" che mi fornisce le statistiche sull utilizzo del database.
Per creare la homepage mi risultava l'uso di 89 query (SELECT)... Ho provato a ottimizzare il codice e sono arrivato a 64.
Per alcune pagine risulta addirittura 130 SELECTSecondo voi è una cosa accettabile, o sto succhiando anche l'anima al server ??