Vrijwel alle dynamische webapplicaties maken gebruik van onderliggende databases. Communicatie met deze databases gaat meestal via een of meerdere "lagen". De snelheid daarvan kan bij database-intensieve applicaties van merkbare invloed zijn op de snelheid van de webapplicatie zelf. Het Lab heeft de snelheid van een aantal database abstractie lagen met elkaar vergeleken.
Voor een betrouwbare test werd in alle gevallen gebruik gemaakt van de in de database laag aanwezige typechecking en escaping, parameter binding en het vullen van een array van 25 records met 10 velden. Per page request werden 3 verschillende geparametriseerde queries uitgevoerd, die cachebaar waren met de MySQL query cache. Om zo dicht mogelijk bij het webgebruik te blijven, gebruikten we apache benchmark (ab) met 200 tests en een concurrency van 2. We hebben met en zonder een op-code cache getest - dat bleek van grote invloed op de uitslag.
De weergegeven cijfers zijn het aantal afgehandelde requests per seconde. Hoger is dus beter.
| Native PDO | 9.6 |
| Zend_DB | 10.3 |
| PEAR MDB2 | 5.7 |
| PEAR MDB2-extended | 4.2 |
| Native PDO | 9.9 |
| Zend_DB | 8.0 |
| PEAR MDB2 | 5.1 |
| PEAR MDB2-extended | 3.9 |
De conclusie is de Zend erg goed uit de verf komt. Opzienbarend is dat het soms zelfs sneller is dan native PDO.










