En développement depuis plus de trois ans, avec une longue période de bêta test, et quelques jours seulement en "release candidate", cette nouvelle version promet une meilleure reconnaissance du standard SQL 2003 (ANSI SQL), avec déclencheurs par ligne (triggers), curseurs, procédures et fonctions enregistrées, ou la vérification stricte de certains types de données. S'ajoutent également une bibliothèque arithmétique, un nouveau moteur de stockage et différents outils facilitant la migration.
La liste complète des modifications et des nouvelles fonctionnalités ( disponible sur le site dev.mysql.org ) est si longue que l'on peut se demander si cela ne risque pas de constituer un frein à son adoption. Et effet, l'application dispose d'une telle richesse fonctionnelle qu'une utilisation incontrôlée pourrai avoir des conséquences fâcheuses pour des environnement de production.
Prenons par exemple l'utilisation du système de gestion des vues. Ce mécanisme permet aux utilisateur d'accéder aux données sous une forme propre à leur usage. Un comptable voit les informations dont il a besoin, arrangées dans des pseudo-tables. Le magasinier verra les données issues de la même base sous une forme différentes. L'implantation de ce mécanisme nécessite une gestion fine des droit d'accès aux données pour éviter tout blocage, un structuration forte de la base et donc une maîtrise approfondie du système. Ce mécanisme étant fort consommateur de ressources processeur et mémoires, pour une utilisation en environnement mutualisé certains hébergeurs Internet pourront hésiter avant de rendre disponible cette fonctionnalités évitant ainsi le risque d'écroulement de leurs serveurs.
Deuxième exemple, le contrôle stricte des types de données dans les requêtes risque d'entraîner la correction de nombreux logiciels écrits avec MySQL4 qui était plus permissif. Pour les logiciels structurés cela ne posera pas trop de problèmes. Mais pour les autres ? Certains développeurs pourront hésiter à supporter MySQL5 avant une refonte de leur logiciel.
Malgré ces risques liés à l'utilisation mal maîtrise de l'outil, cette version présente des améliorations fondamentales pour la réalisation d'applications performantes subissant de fortes charges, ou devant stocker de larges bases de données, ou faisant appel à de nombreuse technologie. La présence de procédures stockées ou des curseurs, par exemple, peut faciliter grandement le développement de ces applications en entreprise en répartissant leurs conceptions sur une équipe.
L'amélioration des outils de clustering, réplication et d'administration ainsi que l'introduction des mécanismes de fédération de tables permettent des utilisations jusque là réservées aux SGBD poids lourds. Avec la sortie en production de cette version 5, MySQL peut commencer à se poser comme un SGBD vraiment sérieux auquel on peut prêter attention même au sein de grandes entreprises.
Alors ne va-t-on pas assister pendant quelques temps à une vie parallèle des deux versions de MySQL. La version 4.x pour les applications internet courantes pouvant être hébergées sur des serveurs mutualisés. Et la version 5.x, utilisée en entreprise en remplacement des SGBD propriétaires arrivés en fin de vie.