[Risolto] Db->Createcommand

Scusate ma stò confrontando due query identiche, una eseguita con il Yii::app()->db->createCommand(…)->queryAll e la seconda eseguita con un tool per database. Tra le due c’è una differenza nei tempi di esecuzione di 15 secondi !!!

L’unica vera differenza tra i due è che nella clausola ->join del db->createCommand->queryAll() non posso usare nomeTabella.Colonna ma solo il nome della colonna :mellow: stò saltando qualcosa ?

ecco cosa ho saltato la clausola


->join('nomeTabella', 'condizione del Join');

… io scrivevo tutto in un unico parametro ->join(‘ON tbl_x.fieldx= table_y.fieldy’) :(

La queryAll ritorna un array, signifca che devi considerare anche il tempo per caricare tutti i dati in memoria e incapsularli in un array.

Prova a chiamare la query(), e poi ci fai un foreach

In questa maniera richiami una riga per volta e non intasi la memoria.

Hai risolto? Se si’ come?