I DBMS completi sono altamente ottimizzati per l'elaborazione di query [appropriatamente scritte] e su una rete moderna il sovraccarico non sarà enorme.
QoQ viene eseguito utilizzando un database incorporato, che può essere o meno ottimizzato, a seconda del tipo di query eseguita.
Quindi, se il database si trova su una macchina diversa, attraverso una rete lenta, in alcune situazioni la QQ potrebbe essere meno lenta. Se stai colpendo il database, preferisci che tutto venga elaborato in modo appropriato lì, in una richiesta, ed evita i round trip e la rielaborazione in un ciclo.
Ovviamente, un grande vantaggio di QoQ è che è possibile utilizzarlo per elaborare dati che non provengono da un database, ad esempio i risultati di cfdirectory o un file CSV che è stato convertito in una query.
ColdFusion esegue QoQ analizzando manualmente l'SQL e quindi eseguendo il loop del recordset. Ciò lo rende efficiente per operazioni semplici, come un join a due tabelle con chiavi corrispondenti, ma meno efficiente per combinazioni complesse (dove l'unione utilizza più colonne e/o non è un confronto diretto a = b). (Brief info here.)
Railo utilizza H2. H2 afferma di essere veloce e il loro sito web offre alcuni speed comparisons che suggeriscono che è più veloce di Derby e MySQL - ma ovviamente sarebbe meglio cercare test indipendenti di terze parti, senza contare che questi test non sono garanzia di prestazioni QoQ (che sospetto non avrà indici, per esempio).
In generale: non fanno alcuna decisione difficile senza prima fare il test delle prestazioni per stabilire che è effettivamente necessario per migliorare le prestazioni, e di essere in grado di determinare oggettivamente quale metodo è effettivamente più veloce.
fonte
2012-11-29 18:27:33
Il derby non viene utilizzato nelle funzioni QoQ di ACF. Derby è incluso con esso per avere un facile accesso a un database low-overhead. La QoQ di ACF utilizza qualcosa di più simile all'analisi e al looping manuale SQL per modificare i recordset. –
Eww. :/Ci sono ulteriori informazioni su cui puoi fare riferimento, quindi posso aggiornare la risposta di conseguenza? –
Non ho risorse esterne, a parte le conversazioni che ho avuto con il personale Adobe e anni di esperienza: P –