Sommaire 27 Historique des changements MySQL
1.5 MySQL Plan de développement
Cette section donne un aperçu du plan de développement de MySQL, incluant les futures fonctionnalités prévues pour MySQL 4.0, 4.1, 5.0 et 5.1. Les sections suivantes donnent plus de détails sur chaque version.
La série de production est MySQL 4.0, qui a été déclarée stable pour un environnement de production depuis la version 4.0.12, publiée en Mars 2003. Cela signifie que les développements futurs de la série des 4.0 est limitée aux corrections de bugs. Pour les anciennes version 3.23, seuls les bugs critiques seront corrigés.
L'effort de développement MySQL a lieu actuellement dans les versions MySQL 4.1 et 5.0. Cela signifie que les nouvelles fonctionnalités sont ajoutées aux versions 4.1 et 5.0. Les versions 4.1 et 5.0 sont disponibles en version alpha.
Avant de mettre à jour une version vers une autre, lisez les notes de la section Mise à jour ou rétrogradage de MySQL .
Les plans de certains fonctionnalités sont résumés dans cette table.
Fonctionnalité version MySQL
Unions 4.0
Sous−requêtes 4.1
R−trees 4.1 (pour les tables MyISAM )
Procédures stockées 5.0
Vues 5.0 ou 5.1
Curseurs 5.0
Clés étrangères 5.1 (déjà implémentés en 3.23 par InnoDB )
Triggers 5.1
Jointures externes 5.1
Contraintes 5.1
1.5.1 MySQL 4.0 en bref
Promise depuis longtemps par MySQL AB
et attendue avec impatience par nos utilisateur, le serveur MySQL 4.0 est disponible en version de production.
MySQL 4.0 est disponible au téléchargement depuis http://www.mysql.com/ et nos miroirs. MySQL 4.0 a été testée par un grand nombre d'utilisateurs et il est en production sur de très grands sites. Les fonctionnalités principales de MySQL serveur 4.0 sont destinées à nos utilisateurs
professionnels et communautaire : elles améliorent le capacités de MySQL pour gérer les missions critiques et les systèmes fortement chargés. D'autres fonctionnalités sont destinées aux utilisateurs de solutions intégrées.
1.5.1.1 Fonctionnalités disponibles en MySQL 4.0
Amélioration des performances
MySQL 4.0 dispose d'un cache de requêtes qui peut vous accélérer grandement vos applications qui utilisent souvent les mêmes requêtes. Le cache de requêtes MySQL .
La version 4.0 accélère la vitesse du serveur MySQL dans de nombreux domaines, notamment les INSERT
de masse, la recherche sur les index compressés, la création d'index FULLTEXT
ainsi que les comptes COUNT(DISTINCT)
.
Serveur MySQL embarqué
La nouvelle bibliothèque Embedded Server
(au lieu de client/serveur) peut être facilement utilisée pour créer des applications indépendantes ou intégrées. Bibliothèque MySQL embarquée .
Le moteur InnoDB
en standard
Le moteur de tables InnoDB
est désormais livré en standard avec le serveur MySQL, apportant le support complet des transactions ACID, les clés étrangères avec modifications et effacement en cascade, ainsi que le verrouillage de ligne. Le moteur de tables InnoDB
.
Nouvelles fonctionnalités
Les nouvelles possibilités de recherche en FULLTEXT
de MySQL Serveur 4.0 permettent l'utilisation d'index FULLTEXT
sur de grandes quantités de texte, avec des logiques binaires ou en langage naturel. Les utilisateurs peuvent
paramétrer la taille minimum des mots, et définir leur propre liste de mots interdits, dans n'importe quel langue. Cela ouvre la possibilité de nombreuses applications avec MySQL Serveur. Fonctions de recherche en texte plein .
Respect des standards, portabilité et migration
Simplification de la migration depuis d'autres bases de données vers MySQL Serveur, et notamment TRUNCATE TABLE
(comme sous Oracle) et IDENTITY
comme synonyme pour les clés automatiquement incrémentées (comme sous Sybase).
De nombreux utilisateurs seront heureux de savoir que le serveur MySQL supporte aussi les requêtes UNION
, une fonctionnalité SQL attendue avec impatience.
MySQL peut s'exécuter nativement sur les plates−formes NetWare 6.0. Installer MySQL sous NetWare .
Internationalisation
Nos utilisateurs allemands, autrichiens et suisses remarqueront que nous avons un nouveau jeu de caractères, latin1_de
, qui corrige les problèmes de tri
des valeurs allemandes , en plaçant les umlauts allemands dans le même
ordre que dans l'annuaire d'Allemagne.
Amélioration de l'ergonomie
Durant la mise en place de fonctionnalités pour de nouveaux utilisateurs, nous n'avons pas oublié notre communauté de loyaux utilisateurs.
Une fonctionnalité pratique pour les administrateurs de base de données est que la plupart des paramètres de démarrage de mysqld
peuvent être modifiées sans redémarrer le serveur. Syntaxe de SET
. Les commandes DELETE
et UPDATE
peuvent désormais fonctionner sur plusieurs tables.
En ajoutant le support des liens symboliques
à MyISAM
au niveau des tables (et non plus au niveau des bases, comme auparavant), et en autorisant les liens symboliques sur Windows, nous espérons que nous avons pris au sérieux vos demandes d'amélioration.
Des fonctions comme SQL_CALC_FOUND_ROWS
et FOUND_ROWS()
rendent possible le comptages de lignes sans utiliser la clause LIMIT
.
La section sur les nouveautés du manuel rassemble toutes les nouveautés. Changements de la version 4.0.x (Production) .
1.5.1.2 MySQL Server intégré (embedded) libmysqld
rend le serveur MySQL disponible pour toute une gamme d'applications très vaste. En utilisant la bibliothèque du serveur MySQL intégré, vous pouvez utiliser MySQL dans différentes applications et appareillages, où l'utilisateur final n'aura même pas idée de sa présence. Le serveur MySQL intégré est idéal pour équiper les bornes internet, les kiosques publics, les paquets
matériel/ logiciels clé en main, les serveurs MySQL haute performances, et les bases de données autonomes sur CDrom.
De nombreux utilisateurs de libmysqld
profiteront de la double licence . Pour ceux qui ne souhaitent pas être liés par la licence GPL, la bibliothèque est aussi disponible avec une licence commerciale. La bibliothèque MySQL intégrée utilise la même interface que la bibliothèque cliente classique, ce qui la rend pratique à utiliser. libmysqld, la bibliothèque intégrée MySQL .
1.5.2 MySQL 4.1 en bref
MySQL 4.0 a posé les fondations pour de nouvelles fonctionnalités telles que les sous−requêtes imbriquées et l'Unicode qui sont d'ores et déjà implémentées en version 4.1, ainsi que les procédures stockées SQL−99, qui seront disponibles pour la version 5.0. Ils représentent les fonctionnalités les plus demandées par de nombreux clients.
Avec ces améliorations, les critiques du serveur de base de données MySQL devront être plus imaginatifs que jamais pour identifier des manques dans le serveur MySQL. Déjà connu depuis longtemps pour sa stabilité, sa rapidité et sa facilité d'emploi, le serveur MySQL va désormais satisfaire la liste de tous les voeux des clients les plus exigeants.
1.5.2.1 Fonctionnalités disponibles en MySQL 4.1
Les fonctionnalités ci−dessous sont implémentées en MySQL 4.1. Quelques autres fonctionnalités sont prévues pour MySQL 4.1, mais très peu. Voyez Ce qui est prévu pour la version 5.0 .
Les plus récentes fonctionnalités en cours de réalisation, comme par exemple les procédures stockées, seront disponibles en MySQL 5.0. Ce qui est prévu pour la version 5.0 .
Support des sous−requêtes et tables dérivées
Une sous−requête est une commande SELECT
imbriquée dans une autre requête. Une table dérivée (une vue anonyme) est une sous−requête dans une clause FROM
d'une autre commande. Syntaxe des sous−requêtes .
Accélération
Protocole binaire plus rapide, avec préparation des commandes et paramétrage. Commandes préparées en C .
Indexation BTREE
pour les tables HEAP
, ce qui améliore significativement le temps de réponse pour les recherches non exactes.
Nouvelle fonctionnalité
CREATE TABLE table_name2 LIKE table_name1
vous permet de créer, avec une seule commande, une nouvelle table, avec une structure identique à celle d'une autre table existante.
Support pour les types géométriques OpenGIS (données géométriques).
Extensions spatiale de MySQL .
La réplication peut être faite sur connexions SSL.
Compatibilité avec les standards, portabilité et migration
Le nouveau protocole client−serveur apporte la possibilité de faire passer plusieurs alertes au client, plutôt qu'une seule. Cela améliore grandement la gestion des erreurs lors des manipulations de masse.
SHOW WARNINGS
affiche les erreurs de la dernière commande. Syntaxe de SHOW WARNINGS
.
Internationalisation
Pour supporter notre base d'utilisateurs en pleine croissance, et leur configurations locales, MySQL exploite désormais l'Unicode (UTF8).
Les jeux de caractères peuvent désormais être définis par colonnes, tables et bases. Cela permet d'améliorer la souplesse dans la conception des
applications, en particuliers pour les sites multi−langues.
Pour la documentation sur l'amélioration du support des jeux de caractères, voyez Jeux de caractères .
Améliorations d'ergonomie
En réponse à la demande populaire, nous avons ajouté une commande HELP command
coté serveur, qui peut être utilisée en ligne de commande du client mysql
et d'autres clients, pour obtenir de l'aide sur les commandes SQL. Avec ces informations sur le serveur, elles seront parfaitement adaptées à la version et configuration du serveur.
Avec le nouveau protocole client/serveur, les requêtes multiples sont désormais activées. Cela vous permet d'émettre plusieurs requêtes en une seule commande, puis de lire tous les résultats en une seule fois. Gestion des requêtes multiples en C .
Le nouveau protocole client/serveur supporte aussi les jeux de résultats multiples. Cela peut arriver après une commande multiple, par exemple. Voir le point précédent.
Nous avons implémenté une syntaxe pratique INSERT ... ON DUPLICATE KEY UPDATE ...
. Elle vous permet de modifier une ligne avec UPDATE
, si l'insertion INSERT
avait généré un double dans la colonne PRIMARY
ou UNIQUE
. Syntaxe de INSERT
. Nous avons ajouté une fonction d'agrégation, GROUP_CONCAT()
, qui permet de concaténer des colonnes dans une seule chaîne de résultat. Fonctions à utiliser dans les définitions GROUP BY
.
La section sur les nouveautés du manuel rassemble toutes les nouveautés. Changements de la version 4.1.x (Gamma) .
1.5.2.2 Phases de publication
De nouvelles fonctionnalités sont ajoutées à MySQL 4.1, qui est déjà disponible dans notre système BitKeeper. Installer à partir des sources de l'arbre de développement .
Le jeu de fonctionnalités destiné à la version 4.1 est globalement définitif. Les nouveautés iront essentiellement à la nouvelle version de développement 5.0. MySQL 4.1 va suivre son
développement normal avec une phase Alpha (durant laquelle de nouvelles fonctionnalités peuvent être ajoutées ou modifiées), puis Beta (où les fonctionnalités sont fixées, et seules des corrections sont faîtes), puis Gamma (qui indique qu'une version de production verra le jour dans quelques semaines), avant que la version 4.1 ne deviennent la nouvelle version officielle.
1.5.2.3 Utilisation immédiate en production
MySQL 4.1 est actuellement en phase alpha, et les paquets binaires sont disponibles en
téléchargement sur http://www.mysql.com/downloads/mysql−4.1.html . Tous les paquets passent nos tests exhaustifs sans erreur, sur les plates−formes que nous utilisons. Changements de la version 4.1.x (Gamma) .
Pour ceux qui souhaitent utiliser les plus récents développement de MySQL 4.1, nous avons rendu notre serveur BitKeeper public. Installer à partir des sources de l'arbre de développement .
1.5.3 MySQL 5.0, les prochains développement
Les nouveaux développements de MySQL sont désormais concentrés sur la version 5.0. Les procédures stockées et d'autres fonctionnalités seront en vedette. Ce qui est prévu pour la version 5.0 .
Pour ceux qui veulent jeter un oeil aux tout derniers développements de MySQL, nous avons rendu notre serveur BitKeeper disponible au public pour MySQL version 5.0. Installer à partir des sources de l'arbre de développement . Depuis décembre 2003, des paquets binaires de MySQL version 5.0 sont aussi disponible.s