ciao
fino ad ora ho sviluppato utilizzando mysql come database, mi piace però molto anche Postgres, soprattutto per la robustezza nella gestione delle policy cascade, e per tutte le funzionalità DBMS che sappiamo essere ben più avanzate rispetto a mysql (se non consideriamo InnoDB o future versioni)
Senza voler lanciare nessun flame su quale database è meglio utilizzare, la mia domanda era più su come interfacciarsi al database.
ultimamente sto facendo dei test
- interfacciandomi direttamente al database
- usando una mia classe che supporta mysql e postgres
- usando un DB abstraction layer (AdoDB)
i test li effettuo utilizzando questo software
http://sourceforge.net/projects/nikstresser
e il risultato è abbastanza esplicativo:
simulando 50 utenti che richiedono 3 volte una pagina dove viene fatta una semplice select su una tabella con 1000 records (e dove i 1000 records vengono stampati a video, ho i segenti tempi
simulando 100 utenticodice:--- utilizzando solo mysql Simulazione più lenta: 3 Simulazione più veloce: 2 Durata media simulazione : 2.340000 --- utilizzando la mia classe Simulazione più lenta: 3 Simulazione più veloce: 2 Durata media simulazione : 2.360000 --- utilizzando AdoDB Simulazione più lenta: 12 Simulazione più veloce: 2 Durata media simulazione : 5.100000 --- utilizzando PDO Simulazione più lenta: 3 Simulazione più veloce: 2 Durata media simulazione : 2.300000
voi cosa ne pensate?codice:--- utilizzando solo mysql Simulazione più lenta: 10 Simulazione più veloce: 2 Durata media simulazione : 5.340000 --- utilizzando la mia classe Simulazione più lenta: 14 Simulazione più veloce: 2 Durata media simulazione : 6.310000 --- utilizzando AdoDB Simulazione più lenta: 24 Simulazione più veloce: 3 Durata media simulazione : 13.150000 --- utilizzando PDO Simulazione più lenta: 16 Simulazione più veloce: 2 Durata media simulazione : 6.560000
a questo punto, visto che le prestazioni non sono paragonabili, se io supporto mysql e postgres a quel paese gli abstraction layer!
[edit]
ho aggiunto il test utilizzando PDO