Grazie per tutte le vostre risposte.
Ecco il risultato del log delle query mysql:
Organizzazione :: tutti(); - 1.6772060394287 secondi
130710 9:52:43 5 Connect [email protected] on seltec
5 Prepare set names 'utf8' collate 'utf8_unicode_ci'
5 Execute set names 'utf8' collate 'utf8_unicode_ci'
5 Close stmt
5 Prepare select * from `users` where `id` = ? limit 1
5 Execute select * from `users` where `id` = '2' limit 1
5 Close stmt
5 Prepare select * from `t_organisations`
5 Execute select * from `t_organisations`
130710 9:52:44 5 Close stmt
130710 9:52:45 5 Quit
DB :: tavola ('t_organisations') -> get(); - 0.13963603973389 secondi
130710 9:55:16 6 Connect [email protected] on seltec
6 Prepare set names 'utf8' collate 'utf8_unicode_ci'
6 Execute set names 'utf8' collate 'utf8_unicode_ci'
6 Close stmt
6 Prepare select * from `users` where `id` = ? limit 1
6 Execute select * from `users` where `id` = '2' limit 1
6 Close stmt
6 Prepare select * from `t_organisations`
6 Execute select * from `t_organisations`
6 Close stmt
6 Quit
Quindi nessuna differenza c'è poi .... il che significa che il ritardo deve trovarsi nel codice php Eloquente. Sì, ho installato xdebug e no non sono disposto a perdere tempo a cercare di capire perché è lento !!! Se è più veloce in Query Builder, questo è abbastanza buono per me !!
Gli sviluppatori di @Laravels: ottimo lavoro sul framework. È intuitivo, si occupa bene delle autorizzazioni, in particolare con i plug-in di fiducia e affidamento di Leroy Merlin. Potresti voler dare un'occhiata al problema delle prestazioni di Eloquent !!
Cheers! Craig
fonte
2013-07-10 08:07:20
Personalmente, l'avrei eseguito tramite XDebug per vedere dove si trova lo spreco di tempo. –
Hai qualche relazione definita nel tuo modello? Se così fosse - Eloquent avrebbe bisogno di fare molti join ... – Laurence
C'è sempre una cosa che è meglio usare Query Builder soprattutto quando si gestiscono dati di grandi dimensioni. – crynobone