• Aucun résultat trouvé

Plan de développement de MySQL

Chapitre 1. Informations générales

1.3. Plan de développement de MySQL

| date | date_time | time_stamp |

+---+---+---+

| 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 |

| 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 |

| 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 |

| 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 |

| 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 |

| 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 |

| 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 |

| 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 |

| 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 |

| 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 |

| 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 |

| 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 |

| 2050-01-01 | 2050-01-01 00:00:00 | 00000000000000 | +---+---+---+

13 rows in set (0.00 sec)

Cet exemple montre que les typesDATEetDATETIMEne poseront aucun problème avec les dates futures (ils gèrent les dates jusqu'en 9999).

Le typeTIMESTAMP, qui est utilisé pour stocker la date courante, est valide jusqu'en2030-01-01.TIMESTAMPva de1970en 2030sur les machines 32 bits (valeur signée). Sur les machines 64 bits, il gère les dates jusqu'en2106(valeur non signée).

Même si leserveur MySQLest compatible an 2000, il est de votre responsabilité de fournir des données non ambiguës. Voyez Section 11.3.4, « An 2000 et les types date »pour les règles duserveur MySQLpour traiter les dates ambiguës (les données contenant des années exprimées sur deux chiffres).

1.3. Plan de développement de MySQL

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 bogues 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 sectionSection 2.6, « Changer de version de MySQL ».

Les plans de certains fonctionnalités sont résumés dans cette table.

Fonctionnalité version MySQL

Unions 4.0

Informations générales

Sous-requêtes 4.1

R-trees 4.1 (pour les tablesMyISAM)

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ées en 3.23 parInnoDB)

Triggers 5.1

Jointures externes 5.1

Contraintes 5.1

1.3.1. MySQL 4.0 en bref

Promise depuis longtemps parMySQL ABet 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 depuishttp://www.mysql.com/et nos miroirs. MySQL 4.0 a été testé 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.3.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. SeeSection 5.11, « Cache de requêtes MySQL ».

• La version 4.0 accélère la vitesse du serveur MySQL dans de nombreux domaines, notamment lesINSERTde masse, la recherche sur les index compressés, la création d'indexFULLTEXTainsi que les comptesCOUNT(DISTINCT).

• Serveur MySQL embarqué

• La nouvelle bibliothèqueEmbedded Server(au lieu de client/serveur) peut être facilement utilisée pour créer des applications indépendantes ou intégrées. SeeSection 1.3.1.2, « MySQL Server intégré (embedded) ».

• Le moteurInnoDBen standard

• Le moteur de tablesInnoDBest 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. See Chapitre 15, Le moteur de tablesInnoDB.

• Nouvelles fonctionnalités

• Les nouvelles possibilités de recherche enFULLTEXTde MySQL Serveur 4.0 permettent l'utilisation d'indexFULLTEXTsur 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. SeeSection 12.6, « Recherche en texte intégral (Full-text) dans MySQL ».

• Respect des standards, portabilité et migration

• Simplification de la migration depuis d'autres bases de données vers MySQL Serveur, et notammentTRUNCATE TABLE (comme sous Oracle) etIDENTITYcomme 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êtesUNION, une fonctionnalité SQL attendue avec impatience.

• MySQL peut s'exécuter nativement sur les plates-formes NetWare 6.0. SeeSection 2.2.14, « Installer MySQL sur 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 mysqldpeuvent être modifiées sans redémarrer le serveur. SeeSection 13.5.2.8, « Syntaxe deSET».

• Les commandesDELETEetUPDATEpeuvent désormais fonctionner sur plusieurs tables.

• En ajoutant le support desliens symboliquesàMyISAMau 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 commeSQL_CALC_FOUND_ROWSetFOUND_ROWS()rendent possible le comptages de lignes sans utiliser la clauseLIMIT.

La section sur les nouveautés du manuel rassemble toutes les nouveautés. SeeSection C.3, « Changements de la version 4.0.x (Production) ».

1.3.1.2. MySQL Server intégré (embedded)

libmysqldrend 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 delibmysqldprofiteront 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. SeeSection 24.2.16, «libmysqld, la bibliothèque du serveur embarqué MySQL ».

1.3.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.3.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 SeeSection B.8.1, « Nouvelles fonctionnalités prévues 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. SeeSection B.8.1, « Nouvelles fonctionnalités prévues pour la version 5.0 ».

• Support des sous-requêtes et tables dérivées

• Une sous-requête est une commandeSELECTimbriquée dans une autre requête. Une table dérivée (une vue anonyme) est une sous-requête dans une clauseFROMd'une autre commande. SeeSection 13.1.8, « Sous-sélections (SubSELECT) ».

Informations générales

• Accélération

• Protocole binaire plus rapide, avec préparation des commandes et paramétrage. SeeSection 24.2.4, « Fonctions C de commandes préparées ».

• IndexationBTREEpour les tablesHEAP, ce qui améliore significativement le temps de réponse pour les recherches non exactes.

• Nouvelle fonctionnalité

• CREATE TABLE table_name2 LIKE table_name1vous 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). SeeChapitre 18, Données spatiales avec 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 WARNINGSaffiche les erreurs de la dernière commande. SeeSection 13.5.3.19, «SHOW WARNINGS | ERRORS».

• 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, voyezChapitre 10, Jeux de caractères et Unicode.

• Améliorations d'ergonomie

• En réponse à la demande populaire, nous avons ajouté une commandeHELP commandcoté serveur, qui peut être utilisée en ligne de commande du clientmysqlet 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. SeeSection 24.2.9, « Gestion des commandes multiples avec l'interface 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 pratiqueINSERT ... ON DUPLICATE KEY UPDATE .... Elle vous permet de modifier une ligne avecUPDATE, si l'insertionINSERTavait généré un double dans la colonnePRIMARYouUNIQUE. See Section 13.1.4, « Syntaxe deINSERT».

• 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. SeeSection 12.9, « Fonctions et options à utiliser dans les clausesGROUP BY».

La section sur les nouveautés du manuel rassemble toutes les nouveautés. SeeSection C.2, « Changements de la version 4.1.x (Alpha) ».

1.3.3. MySQL 5.0, les prochains développements

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. SeeSection B.8.1, « Nouvelles fonctionnalités prévues 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. SeeSection 2.4.3, « Installer à partir de l'arbre source de développement ». Depuis décembre 2003, des paquets binaires de MySQL version 5.0 sont aussi disponibles.