Il y a certaines choses qui me dérangent avec Mysql
Je dois choisir entre l'application de contraintes et de transactions vs Fulltext Index (InnoDb vs MyISAM). C'est vraiment le problème numéro 1 pour moi (imposer des contraintes et des transactions est ce qui rend dbs cool, mais vous avez aussi besoin de la recherche plein texte...)
- Il n'est pas facile de "simuler" des transactions dans le code client.
- Si vous n'appliquez pas les contraintes, il est très facile d'obtenir un état incohérent de la base de données
- Sans Fulltext Search, vous pourriez devenir fou avec OR X LIKE %y%
- Vous devez créer BEFORE UPDATE TRIGGER avec RAISE ERROR pour CHECK CONSTRAINT
- Mysql a de mauvaises performances lorsque les données deviennent trop volumineuses (je veux dire vraiment volumineuses).
- Mysql crée des plans d'exécution médiocres
- Mysql a des problèmes avec plus de 3 jointures (disons plutôt plusieurs jointures).
Oracle est la solution à tous ces problèmes, c'est un SGBD complet (transactions, contraintes CHECK, beaucoup d'options pour les vues, recherche plein texte et bien plus encore.. ) mais après tout c'est une question d'argent.