2012-04-25 4 views
12

Recentemente ho imparato a conoscere PDO e Doctrine 2.2.2 per creare un'applicazione. ma lavorerò con alcuni vincoli critici nel mio ambiente (molti dati, velocità di connessione ... ecc.) so che Doctrine ha un livello PDO, quindi forse PDO è più veloce ma voglio lavorare con un ORM reale Quadro come Hibernate.Doctrine è davvero così lento rispetto a PDO?

dopo aver letto questo post Benchmark PDO vs Doctrine

devo sapere se Dottrina è [molto] lento rispetto DOP.

Grazie

+2

Il confronto di DOP con Doctrine è come confrontare mele con alberi di mele. Nota anche che Doctrine2 è più veloce – KingCrunch

+0

hai ragione, so cosa intendi; ma ho solo bisogno di sapere quanto Doctrine è lento. grazie per il tuo commento. – GENE

risposta

36

Doctrine 2 + PHP 5.3+ ha migliorato notevolmente la velocità della dottrina.

Tuttavia, non si sarà mai vicino alla DOP beacause non è la stessa cosa: vuoi per interrogare il database o vuoi mappare automaticamente il database per PHP Objects e quindi utilizzare gli oggetti nel codice?

  • Per la qualità dello sviluppo, la facilità e la velocità: usare Doctrine
  • Per la velocità di esecuzione: non utilizzare un ORM
+0

Grazie mille .. penso che userò la doctrina 2 – GENE

+1

@adrien +1 per i due punti. – ravi404

+0

Dopo aver lavorato su almeno 3 o 4 progetti. Ho sperimentato che PDO è molto più veloce. Per la prospettiva UX scelgo sempre PDO su ORM. È sempre possibile scrivere codice pulito e comprensibile con normali query SQL utilizzando il livello DBAL. – doNotCheckMyBlog

9

utilizzando una cache di PHP come APC migliorerà le prestazioni di Doctrine un sacco. Da quello che ho visto; da qualche parte tra 3-7 volte.
Se non è possibile utilizzare una cache, è possibile passare facilmente al livello DBAL di Doctrine anziché all'ORM nelle aree in cui è veramente necessaria tutta la velocità che si può ottenere. Le velocità di runtime saranno quindi molto più vicine a PDO, ma perderete la comodità di un ORM.