Maison> base de données> tutoriel mysql> le corps du texte

Quelle est la différence entre mysql8.0 et mysql5.7 ?

James Bond
Libérer: 2020-11-30 10:56:38
original
37357 Les gens l'ont consulté

Différence : L'index de mysql8.0 peut être masqué et affiché Lorsqu'un index est masqué, il ne sera pas utilisé par l'optimiseur de requêtes ; 2. Mysql8.0 a une nouvelle commande "SET PERSIST" ; 3 . À partir de mysql8.0, l'encodage par défaut de la base de données sera modifié en utf8mb4, qui inclut tous les caractères emoji.

Quelle est la différence entre mysql8.0 et mysql5.7 ?

(Tutoriel recommandé :Tutoriel vidéo mysql)

mysql8.0 et mysql5. La différence entre 7 est

1. Stockage NoSql

Mysql fournit la fonction de stockage NoSQL à partir de la version 5.7. Cette partie a été modifiée en 8.0, mais ce n'est pas pratique dans. pratique. Il est rarement utilisé dans
Quelle est la différence entre mysql8.0 et mysql5.7 ?

2. Index caché

La fonctionnalité d'index caché est très utile pour le débogage des performances Dans la version 8.0, l'index peut être masqué et affiché. . Lorsqu'un index est masqué, il ne sera pas utilisé par l'optimiseur de requêtes
Quelle est la différence entre mysql8.0 et mysql5.7 ?
En d'autres termes, vous pouvez masquer un index et observer ensuite l'impact sur la base de données. cela signifie que l'index est efficace, donc "restaurer l'affichage" ; s'il n'y a aucun changement dans les performances de la base de données, cela signifie que l'index est trop grand. Vous pouvez supprimer la syntaxe de

pour masquer un index.

ALTER TABLE t ALTER INDEX i INVISIBLE;
Copier après la connexion

pour restaurer l'affichage. La syntaxe de l'index est :

ALTER TABLE t ALTER INDEX i VISIBLE;
Copier après la connexion

Lorsqu'un index est masqué, nous pouvons voir dans le résumé de sortie de la commande show index que la valeur d'attribut visible de l'index est Non

**Remarque :** Lorsque l'index est masqué, son contenu est toujours mis à jour en temps réel comme un index normal. Cette fonctionnalité elle-même est spécifiquement utilisée pour l'optimisation et le débogage. index pendant longtemps, autant le tuer car l'existence de l'index affectera les fonctions d'insertion, de mise à jour et de suppression

3 Définir la persistance

Les paramètres MySQL peuvent être modifiés. au moment de l'exécution via la commande SET GLOBAL, mais cette modification ne prendra effet que temporairement jusqu'au prochain démarrage. La base de données lira alors à partir du fichier de configuration.
MySQL 8 a ajouté la commande SET PERSIST, par exemple :
SET PERSIST max_connections = 500 ;
MySQL enregistrera la configuration de cette commande dans le fichier mysqld-auto.cnf dans le répertoire de données et la démarrera. la prochaine fois, le fichier sera lu et la configuration qu'il contient sera utilisée pour écraser le fichier de configuration par défaut.

Encodage 4.UTF-8

À partir de MySQL 8, l'encodage par défaut de la base de données sera modifié en utf8mb4, qui inclut tous les caractères emoji. Pendant de nombreuses années, nous avons été prudents dans le codage lors de l'utilisation de MySQL, de peur d'oublier de changer le latin par défaut et de provoquer des problèmes de code tronqué. Plus de soucis désormais.

5. Expressions de table communes

Les requêtes complexes utiliseront des tables intégrées, par exemple :

SELECT t1.*, t2.* FROM (SELECT col1 FROM table1) t1, (SELECT col2 FROM table2) t2;
Copier après la connexion

Avec CTE, on peut écrire comme ceci :

WITH t1 AS (SELECT col1 FROM table1), t2 AS (SELECT col2 FROM table2) SELECT t1.*, t2.* FROM t1, t2;
Copier après la connexion

De cette façon, les niveaux et les zones semblent plus distincts et il est plus clair de savoir quelle partie changer lors des modifications.
Cette fonctionnalité est très utile dans de nombreux scénarios de reporting et constitue également une fonctionnalité très importante de l'optimisation MySQL.
1.235 Fonctions de fenêtre
L'une des fonctionnalités les plus critiquées de MySQL est l'absence de fonction Rank(). Lorsque le classement doit être obtenu dans une requête, la variable @ doit être écrite à la main. Mais à partir de la version 8.0, MySQL a ajouté un nouveau concept appelé fonction de fenêtre, qui peut être utilisé pour implémenter plusieurs nouvelles méthodes de requête.
La fonction window est un peu comme une fonction d'agrégation telle que SUM() et COUNT(), mais elle ne fusionne pas les résultats de la requête multi-lignes en une seule ligne, mais place les résultats sur plusieurs lignes. En d’autres termes, les fonctions de fenêtre ne nécessitent pas GROUP BY.
Supposons que nous ayons un tableau du « nombre d'élèves dans une classe » :
Quelle est la différence entre mysql8.0 et mysql5.7 ?
Si vous souhaitez classer la taille de la classe de petite à grande, vous pouvez utiliser la fonction fenêtre comme ceci :
Quelle est la différence entre mysql8.0 et mysql5.7 ?
Description : Une fenêtre nommée w est créée ici, et elle est spécifiée pour trier le champ stu_count, puis exécuter la méthode Rank() sur w dans la clause select, et afficher le résultat sous forme de classement. champ.
Cette fonctionnalité est également une nouvelle fonctionnalité d'Oracle11g, et elle joue également un rôle très important dans l'optimisation.

Pour plus de connaissances sur la programmation, veuillez visiter :Introduction à la programmation! !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!