Quantità Query postato il 09/01/2010 11:51:12 nel forum programmazione, gdrcd e open source
Buongiorno a tutti
Vi propongo oggi una questione che mi sta facendo cercare in lungo e in largo per rete, senza alcun risultato: Il conteggio delle query.
Com'è ovvio che sia cerco costantemente di ottimizzare il numero delle query per pagina che il mio sitozzo deve effettuare, per evitare che ad ogni sessione i giocatori richiamino numeri spropositati di operazioni su DB, riuscendo a non superare quasi mai le 2-3 interrogazioni... tuttavia quello che mi domandavo è:
Se io creo delle sub-query o concatenazioni, a livello di conteggio mi vale 1 query o 2 query?
Io davvero non sono riuscita a trovare risposta a questa domanda da nessuna parte, non so se magari c'è un termine specifico di cui non sono a conoscenza... eventualmente se oltre a questa domanda avete un link con info generiche su questo argomento mi fareste un favore enorme.
(poi magari mi faccio problemi per nulla, non so XD)
Pagine → 1 2
09/01/2010 12:34:48 e modificato da tsumi il 09/01/2010 12:35:51
Allora:
da un rapido test su mysql il contatore delle query facendo una query annidata tipo (esempio idiota):
SELECT * FROM (SELECT * FORM tabella WHERE 1) AS tab WHERE id=1;
aumenta di 1 quindi mysql la conteggia come 1 query
Di fatto poi quelle sono due query ... quindi nei tuoi conteggi potresti considerarla come doppia.
Ad ogni modo se guardi l'ottimizzazione ti consiglio di non pensare tanto al numero delle query quanto al loro contenuto.
Una semplice select su un id numerico indicizzato ed una join su 3-4 tabelle con una mezza dozzina di condizioni in where contano entrambe come una query ma richiedono tempi molto diversi.
Tsu
09/01/2010 12:41:09
Uh grazie mille, non sapevo ci fosse un contatore query o_o a saperlo non impazzivo tutta la mattina XDD
Per l'ottimizzazione delle tabelle ed interrogazioni ho trovato info a sufficienza (che ovviamente sto seguendo) quindi su quel lato mi considero messa abbastanza bene
ti ringrazio davvero, ora ottimizzerò al massimo ù___ù
09/01/2010 13:27:14 e modificato da blancks il 09/01/2010 13:29:44
09/01/2010 14:20:28
09/01/2010 16:30:43
09/01/2010 16:59:28
innanzi tutto un LOL per la tua firma... ci rido da 10 minuti buoni...
inoltre... è un bene usare bene i Join e richiamare SOLO i campi che servono (quindi un SELECT * fallo solo se ti serve tutto!)
09/01/2010 17:14:59
09/01/2010 18:10:53
09/01/2010 19:34:52
Io personalmente costruisco una classe che mi fa da gestore del database.
Se un giorno cambia qualcosa o io cambio dbms mi basterà cambiare le funzioni di dialogo nella classe e non per tutto l'engine, da questo punto di vista sinceramente non mi vedo il problema sussistere, poi non so con che logica programmativa stai tirando su il tutto.
11/01/2010 18:59:39 e modificato da tdl - staff il 11/01/2010 19:01:27
Ma guarda che non è assolutamente come dici tu. Dipende da linguaggio DB a linguaggio DB usato l'inficiare del numero di query. Per assurdo mysql predilige una struttura a più query ma rapide piuttosto che una sola ma lunga.
EDIT:
il fatto è che devi tenere conto delle singole istruzioni quindi ad esempio una select è molto più veloce di una select join.
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Storie di Agarthi: Utente Ospite