Maison  >  Article  >  base de données  >  Nouveaux changements publiés dans la version MySQL8.0.3 RC

Nouveaux changements publiés dans la version MySQL8.0.3 RC

ringa_lee
ringa_leeoriginal
2017-09-17 10:19:291802parcourir

MySQL 8.0.3 sera bientôt publié, jetons un coup d'œil aux nouveaux changements

MySQL 8.0.3 sera bientôt publié en version RC, ce qui indique que la version 8.0 est plus proche de GA Elle se rapproche.

Partageons quelques nouvelles fonctionnalités et modifications importantes de la version 8.0.3 :

  1. Directement supprimez le cache des requêtes (devrait juste si vous fermez l'entrée et compilez vous-même le code source, vous pouvez le réactiver)

  2. L'optimiseur de requêtes prend en charge directement l'utilisation de la syntaxe SET_VAR HINT pour modifier certaines sessions- paramètres de niveau en SQL. Options, telles que :

    - SELECT /*+ SET_VAR(sort_buffer_size = 16M) */ name FROM people ORDER BY name;

    - INSERT /*+ SET_VAR(foreign_key_checks =OFF) */ INTO t2 VALUES(2);

    (Cette fonction est super pratique. Elle peut être modifiée directement en SQL sans avoir à écrire un autre SQL et à se soucier d'affecter les autres)

  3. L'optimiseur de requêtes prend désormais en charge le stockage des histogrammes de chaque statistique de colonne dans le dictionnaire de données column_statistics afin de construire des plans d'exécution. Avec cet histogramme, il peut être utilisé pour comparer la colonne et la constante

  4. Un nouveau bit drapeau use_invisible_indexes est ajouté à l'optimiseur de requêtes pour contrôler l'exécution du construction Faut-il prendre en compte les index invisibles lors de la planification

  5. InnoDB a ajouté un nouveau verrouillage spécifique à la sauvegarde Dans le passé, si le DML était exécuté en même temps pendant la mise en ligne. sauvegarde à chaud de la table InnoDB, cela pourrait provoquer des instantanés incohérents des fichiers InnoDB. Avec ce verrou de sauvegarde, vous n'avez pas à vous inquiéter. L'utilisation du verrouillage de sauvegarde est LOCK INSTANCE FOR BACKUP, UNLOCK INSTANCE, ce qui nécessite l'autorisation BACKUP_ADMIN ​​​​​​

  6. InnoDB prend désormais en charge l'atomicité de la table DDL, c'est-à-dire que le DDL sur la table InnoDB peut également atteindre l'intégrité des transactions, soit en échec et annulé, soit soumis avec succès, sans là est un problème de réussite partielle lorsque DDL se produit. De plus, il prend également en charge la fonctionnalité de sécurité en cas de crash (j'aime beaucoup cette fonctionnalité)

  7. S'il est retardé. réplication de groupe d'initialisation (GR, Group Replication ), c'est-à-dire qu'en mode primaire unique, les données peuvent être écrites sur le nœud secondaire via le canal de réplication asynchrone, ce qui n'est pas autorisé lors de l'initialisation normale du plug-in de réplication de groupe (Bogue # 26314756, c'est un BUG ID interne, nous ne pouvons pas le voir Oui, ne vous embêtez pas Mais il y a aussi le github universel, vous pouvez également voir la description correspondante, voir : https://github.com/mysql/mysql-. server/commit/acbf1d13ecd1d89557f8ca62116f06e8633dc90d)

  8. Plusieurs vues telles que FILES, PARTITIONS, REFERENTIAL_CONSTRAINTS dans la bibliothèque système INFORMATION_SCHEMA ont été réimplémentées (ce n'est pas trop spécifique, cela peut être lié au fait que tous les DDL sont placés dans InnoDB, n'utilisez plus les fichiers FRM pour stocker les informations DDL)

  9. En raison de la modification de la fonction de verrouillage par contrainte de clé étrangère, le la fonction de renommage des colonnes sur la table parent impliquant des contraintes de clé étrangère sera temporairement désactivée pendant un certain temps (estimé dans quelques jours) Une petite version peut être utilisée normalement)

  10. Espace de table général InnoDB a une nouvelle syntaxe de renommage : ALTER TABLESPACE ... RENAME TO (En tant qu'administrateur de base de données MySQL, cela ne semble rien. Les personnes qui jouent avec les espaces de table généraux peuvent être plus habituées à l'utiliser après avoir quitté Oracle DBA)

  11. Sur le nœud esclave répliqué par MySQL, la valeur par défaut de l'option log_slave_updates est changée en ON (C'est aussi plus pratique, facilitant l'utilisation directe de l'esclave en tant que nœud relais) La portée globale de l'option

  12. sql_log_bin a été modifiée en une portée au niveau de la session, c'est-à-dire que la modification de cette option n'affecte que cette session et n'affecte plus la situation globale (cette option est généralement utilisée au niveau de la session)

  13. option max_allowed_packet La valeur par défaut de a été augmentée de 4M à 64M (Ceci semble plus pratique) La valeur par défaut de l'option

  14. event_scheduler est modifiée de OFF à ON, afin que la fonction de planification d'événements soit activée par défaut (je pense que le la fonction event est assez bonne), mais il semble que peu de gens utilisent event)

  15. La valeur par défaut de l'option max_error_count a été augmentée de 64 à 1024 ( Je ne le sens pas)

  16. Dernier, le jeu de caractères utf8mb4 ajoute un jeu de contrôle russe (deux nouveaux jeux de classements, utf8mb4_ru_0900_ai_ci et utf8mb4_ru_0900_as_cs)

Attendons avec impatience la sortie de la 8.0.3 !

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!

Déclaration:
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