Maison > Article > développement back-end > Introduction détaillée aux nouvelles fonctionnalités de MySQL version 8.0
L'équipe de développement MySQL annonce la sortie de MySQL 8.0.0 Development Milestone Release (DMR) ! Par la suite, certaines personnes pourraient se demander pourquoi MySQL est passé de 5.x à 8.0. En fait, la série MySQL 5.x s'est poursuivie pendant de nombreuses années, à partir de la version 5.1 avant d'être acquise par Oracle, et est restée à 5.x depuis l'acquisition, comme 5.5, 5.6, 5.7 et ainsi de suite. En fait, si vous suivez le rythme de sortie original, vous pouvez considérer la version 5.6.x comme 6.x et la version 5.7.x comme 7.x. Par conséquent, nous venons de modifier la méthode de dénomination des versions.
MySQL est la configuration standard dans de nombreuses piles technologiques de sites Web. Il s'agit d'une base de données open source populaire et a lancé la première version candidate de 8.0.
Les nouvelles fonctionnalités de MySQL 8.0 incluent :
Prise en charge complète d'Unicode 9.0 prête à l'emploi
Prise en charge des fonctions de fenêtre et de la syntaxe SQL récursive, ce qui n'était pas possible auparavant. est difficile d'écrire de telles requêtes
Prise en charge améliorée des capacités natives de stockage de données et de documents JSON
La sortie de MySQL 8.0, en sautant plusieurs numéros de version (à partir de 5.5), depuis la modification 6.0 et 7.0 sont utilisés pour conserver la version cluster de MySQL, le numéro de version 8.0 est adopté.
Date de sortie prévue de MySQL 8.0
Selon la politique de MySQL « le cycle de publication d'une nouvelle version [générale] est de 18 à 24 mois », MySQL ne s'est pas engagé sur la date de sortie de MySQL 8.0 . La dernière version de MySQL 5.7 date du 21 octobre 2015, la version officielle de MySQL 8.0 pourrait donc être publiée en octobre 2017.
Le chemin parcouru par MySQL 8.0 vers la standardisation d'Unicode
La prise en charge par défaut d'Unicode peut être considérée comme l'un des changements les plus importants de MySql 8.0. Depuis longtemps, MySQL rencontre de nombreux problèmes non résolus avec Unicode. Ainsi, un plan à long terme pour MySQL 8.0 est de résoudre autant de problèmes Unicode persistants que possible.
MySQL 8.0 ne définit plus latin1 comme encodage par défaut pour empêcher les nouveaux utilisateurs d'utiliser cette option héritée problématique. utf8mb4 est désormais recommandé comme jeu de caractères par défaut pour MySQL 8.0. Il est destiné à être plus rapide que le jeu de caractères utf8mb3, désormais obsolète, tout en permettant un tri et une sensibilité à la casse plus flexibles.
Unicode amélioré prend non seulement en charge les jeux de caractères non occidentaux, mais prend également en charge les expressions emoji croissantes.
MySQL 8.0 prend en charge les fonctions de fenêtre
De nombreuses implémentations de normes de langage SQL (telles que Oracle, ndlr) prennent en charge les fonctions de fenêtre, qui sont des fonctions qui peuvent implémenter des calculs d'agrégation sur plusieurs lignes tout en permettant l'accès aux lignes individuelles de la requête. Dans les versions précédentes de MySQL, il était possible de faire cela sans utiliser les fonctions de fenêtre, mais c'était fastidieux et lent. Afin de pallier cette lacune, MySQL 8.0 implémente la fonction des fonctions de fenêtre via le mot-clé SQL standard OVER, qui est quelque peu similaire à la méthode d'implémentation de son concurrent PostgreSQL.
Des expressions de table communes récursives sont également disponibles, qui vous permettent d'effectuer des opérations récursives sur des sous-requêtes sans utiliser de curseurs ou d'autres solutions de contournement dégradant les performances.
MySQL 8.0 prend mieux en charge les bases de données de documents et JSON
MySQL 5.7 prend en charge JSON, ce qui permet à MySQL d'utiliser le JSON natif pour rivaliser avec les bases de données NoSQL. MySQL 8.0 a étendu la prise en charge de JSON et offre de meilleures performances, en ajoutant la possibilité de renvoyer des plages à partir de requêtes JSON (tout comme la fonction "top n" de l'instruction SQL), et en ajoutant également de nouvelles fonctions d'agrégation pouvant être utilisées dans la même requête. . Dans la déclaration, les données structurées natives MySQL et les données semi-structurées JSON peuvent être combinées.
Une autre amélioration liée à JSON inclut le stockage de documents pour MySQL. Les lectures et écritures dans le magasin de documents MySQL sont cohérentes sur le plan transactionnel, permettant l'annulation des modifications apportées aux données JSON. Les données du document sont stockées au format ouvert GeoJSON pour les données géospatiales et peuvent être indexées afin de pouvoir être recherchées de manière dirigée.
Autres fonctionnalités clés de MySQL 8.0
Les autres fonctionnalités prévues pour les mises à jour de MySQL 8.0 incluent :
Ajout de plus d'options pour verrouiller les lignes, telles que les options SKIP LOCKED et NOWAIT. Parmi eux,
SKIP LOCKED permet aux lignes qui doivent être ignorées de ne pas être verrouillées pendant l'opération ; NOWAIT renvoie immédiatement une erreur lorsqu'une ligne est verrouillée.
MySQL peut évoluer vers le haut ou vers le bas en fonction de la quantité totale de mémoire disponible pour mieux utiliser le déploiement de machines virtuelles.
Ajout de la fonctionnalité "Masquer l'index" afin que l'index puisse être rendu invisible dans l'optimiseur de requêtes. Les index marqués comme indisponibles sont synchronisés avec les modifications des données de la table, mais l'optimiseur ne les utilise pas. La suggestion concernant l'utilisation d'index masqués est qu'ils peuvent être utilisés lorsqu'il n'est pas décidé si un index doit être conservé.
Vous pouvez désormais télécharger MySQL 8.0 pour Windows, MacOS, plusieurs versions de Linux, FreeBSD et Solaris ; vous pouvez également télécharger le code source. Vous pouvez visiter les versions candidates pour les développeurs sur la page de téléchargement du site officiel pour les télécharger.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!