MySQL 5.0 est sortie en version stable le 24 octobre 2005 (oui, si vous l'utilisiez avant c'étaient des bétas), soit environ 4 ans après la 4.0 (15 octobre 2001) et un an après la 4.1 (octobre 2004). La première alpha de la version 5 était disponible en janvier 2004, quant la 5.1 elle est encore en développement.

Et les changelogs ?

MySQL 4.0

  • généralisation du format InnoDB (introduit dans la 3.23). MySQL utilise plusieurs formats de stockage, chacun avec ses avantages et ses inconvénients. InnoDB gère les transactions (commit et rollback), les verrous sur les enregistrements, les clés étrangères, et a un mécanisme de récupération en cas de plantage. Pour des bases utilisées essentiellement en lecture, on lui préférera MyISAM, qui n'offre pas toutes ces fonctionnalités, mais est plus rapide sur de gros volumes.
  • indexes de type "FULLTEXT" pour faciliter la recherche dans les champs textuels
  • support de UNION

MySQL 4.1

  • support des requêtes imbriquées (SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2))
  • possibilité de faire une requête sur le résultat d'une autre (SELECT ... FROM (<sous-requête>) AS <name>)
  • syntaxe INSERT ... ON DUPLICATE KEY UPDATE qui permet de transformer une création en mise jour si l'enregistrement existe déj .

MySQL 5.0

  • arrivée des procédures stockées (wéééé !)
  • possibilité de créer des vues
  • introduction de curseurs en lecture seule, pour boucler sur les résultats d'une requête l'intérieur d'une procédure stockée.
  • support des triggers, avec quelques restrictions.

MySQL 5.1

  • cette version contient de nombreuses nouvelles fonctionnalités, mais plutôt visibles côté serveur: possibilité de partitionner une table entre plusieurs systèmes de fichier, de créer des tâches de maintenance directement au niveau du serveur...

Voil , c'est vraiment un résumé très rapide, mais ça m'a remise les idées au clair, espérons que ça servira...