Blog
Ott
30
Query ottimizzata
webmaster: 30/10/08 @ 21:19Uso vari sistemi per tenere traccia delle visite che riceve pc-facile.com. Uno di questi è uno script scritto da me - sì, lo so, ne esistono sicuramente di migliori, ma il mio fa solo l'indispensabile e lo fa esattamente come voglio io.
Ho scritto il codice di questo script diversi anni fa quando le mie conoscenze di PHP e MySql erano decisamente meno avanzate; ad esempio non conoscevo la sintassi:
Qualche giorno fa, riguardando il codice ho notato che per inserire alcuni dati nel DB mi ci volevano due query: una SELECT per controllare se l'IP del visitatore fosse nel DB e un UPDATE per inserirlo. Ci ho pensato un po' e ho fuso le due query in una sola, ma più veloce.
In altre parole ecco la sintassi nuova:
Ho quindi effettuato una piccola modifica che ha eliminato una sola query, ma che stando al performanceblog dovrebbe aver migliorato le prestazioni delle due query originali del 30%. Qualcuno ha mai fatto benchmarking su questo tipo di query?
Ho scritto il codice di questo script diversi anni fa quando le mie conoscenze di PHP e MySql erano decisamente meno avanzate; ad esempio non conoscevo la sintassi:
ON DUPLICATE KEY UPDATE
Qualche giorno fa, riguardando il codice ho notato che per inserire alcuni dati nel DB mi ci volevano due query: una SELECT per controllare se l'IP del visitatore fosse nel DB e un UPDATE per inserirlo. Ci ho pensato un po' e ho fuso le due query in una sola, ma più veloce.
In altre parole ecco la sintassi nuova:
INSERT INTO stats SET ip = '$encoded_ip' ON DUPLICATE KEY UPDATE pages = pages + 1 WHERE ip = '$encoded_ip'
Ho quindi effettuato una piccola modifica che ha eliminato una sola query, ma che stando al performanceblog dovrebbe aver migliorato le prestazioni delle due query originali del 30%. Qualcuno ha mai fatto benchmarking su questo tipo di query?
Commenti: 0
Post correlati:
- [05/05/09] Phoenix - estensione per Firefox - rilasciata
- [13/12/08] Ottimizzazioni per il blog
- [26/08/08] Due piccole modifiche e un bug
Post precedente
Levenshtein Distance: miglioramenti nella logica dell'a...
Post successivo
News correlate: algoritmo nuovo vs algoritmo vecchio