Comparaison des SGBD : Oracle, MySQL et PostgreSQL (Partie 2)

Requêtes complexes
Oracle peut supporter les requêtes les plus complexes avec quasiment aucune restriction sur le nombre de tables. Pour MySQL, sa limitation est de 61 tables sur une requête, cependant comme le rappelle l’auteur de l’article, une requête avec autant de tables est peu maniable et il est surtout important de privilégier l’optimisation. Les versions 8.x de Postgresql supportent les standards SQL92 avec peu de restrictions.


Les Index
Les index sont cruciaux pour l’optimisation de votre base de données. Oracle propose une surabondance de type d’index. MySQL supporte les index b-tree, hash, fulltext et les index GIS.
Postgresql propose aussi de nombreux index : b-tree and hash, r-tree… Mais ce sont les index « b-tree » qui sont généralement les plus utilisés.
Les audits
Oracle vous permet d’auditer par exemple les insert, update ou delete sur une table, avec plusieurs options simples à activer. Postgresql propose aussi ces fonctionnalités et reste aussi souple et configurable qu’Oracle. MySQL ne semble pas fournir cette option mais peut tout à fait être implémenté via des procédures stockées ou des triggers où les informations seront sauvées dans une table.
Type de données
Oracle, MySQL et Postgresql supportent la plupart des champs comme les données textes jusqu’à 4GB. Par contre, contrairement à Oracle, Postgresql et MySQL supportent le type de données "SET" (ensemble particulier de valeurs) qui reste très pratique à l’usage. Une autre caractéristique très apprécié sur Postdresql et MySQL est la large variété de champs numériques : du smallint au décimal, real, double et bien d’autres.
Support transactionnel
MySQL embarque depuis bien longtemps un moteur transactionnel dont InnoDB qu’Oracle avait racheté. Cependant, l’auteur souligne les faibles performances des opérations transactionnelles lorsque la majorité des demandes seraient la consultation de données. En effet, je rappelle que le moteur InnoDB reste performant pour des opérations de lecture/écriture mais beaucoup moins si on souhaite privilégier la lecture.
Conclusion
Il y a beaucoup de paramètres à considérer dans le choix d’une base de données : support de l’éditeur et de la communauté, performance, possibilité d’optimisation et bien sûr le rapport coût/robustesse.
Retrouver l'article complet : Database journal
Retrouver la partie 1