Fonctionnalités MySQL5.5, par rapport à Mysql5.1
amélioration des performances
Moteur de plugin InnoDB par défaut. Il dispose de fonctions de validation, de restauration et de récupération après incident et est compatible ACID.
Verrouillage au niveau de la ligne (MVCC en lecture cohérente et non verrouillable).
Les tables et les index sont stockés dans l'espace table et la taille de la table est illimitée.
Prend en charge les formats de lignes dynamiques (mémoire cache de clé primaire pour éviter les E/S provoquées par une requête de clé primaire) et compressés (prend en charge la compression des données et des index).
Le format de fichier du plugin InnoDB Barracuda, prend en charge la compression de table, économise le stockage, fournit un taux d'accès à la mémoire et tronque la table plus rapidement.
InnoDB d'origine n'avait qu'un seul UndoSegment, prenant en charge jusqu'à 1023 simultanéités ; il compte désormais 128 segments, prenant en charge 128 000 simultanéités (de la même manière, pour résoudre l'annulation des transactions causée par une simultanéité élevée).
Innodb_thread_concurrency est défini par défaut sur 0 et le nombre de threads simultanés est illimité. La valeur optimale peut être définie en fonction d'applications spécifiques.
Innodb_io_capacity peut ajuster dynamiquement le nombre de pages sales à actualiser et améliorer la dégradation des performances causée par l'incapacité de suivre les actualisations des pages sales lors de mises à jour par lots importantes. Par défaut : 200, lié aux IOPS du disque dur.
Profitez pleinement de la puissance de traitement multicœur du processeur. Seuil innodb_read_io_threads : 1-64 Seuil innodb_write_io_threads : 1-64 peut être défini de manière flexible en fonction du taux de lecture-écriture de. la base de données pour exploiter pleinement les performances des périphériques de stockage multi-CPU et hautes performances n'est pas prise en charge.
Actualiser de manière adaptative les pages sales
Les données chaudes survivent plus longtemps
pool de tampons à plusieurs instances : le Le paramètre innodb_buffer_pool_instances augmente le nombre d'instances innodb_buffer_pool, ce qui réduit considérablement les conflits de mutex et la surchauffe du pool de mémoire tampon.
E/S asynchrones sur Linux
Reprise en charge de la soumission du groupe
Amélioration de la stabilité
Prend en charge la réplication semi-synchrone.
Ajouter une fonction d'auto-guérison Relay Log.
Récupération après crash.
L'introduction de l'arbre rouge-noir comme structure de données intermédiaire pour le tri par insertion réduit considérablement la complexité temporelle et réduit le temps de récupération.
Mise en file d'attente des groupes de threads et limitation de courant
Fonctionnalités MySQL 5.6, par rapport à la version 5.5
Modifications des paramètres par défaut
Back_log Queue
Prise en charge de l'index de texte intégral
Support en ligne DDL créer, modifier, déposer
Vous pouvez spécifier l'emplacement de l'espace table lors de la création de la table
créer une table externe (x int non signé clé primaire non nulle) répertoire de données = '/volumes/ external1/data';
Le nouveau paramètre innodb_page_size peut définir la taille de la page
API memcached intégrée, vous pouvez utiliser l' API pour accéder directement à la table innodb, pas à SQL (réduisez le coût de l'analyse SQL et de l'optimisation des requêtes)
transaction innodb en lecture seule, pas besoin de définir le champ TRX_ID,
Réduisez la surcharge structurelle des données internes, réduisez la vue en lecture
Seules les transactions non en lecture seule nécessitent toujours TRX_ID
Points d'amélioration Innodb
Migration en ligne de l'espace table Innodb (TransportableTablespaces)
Le journal d'annulation peut être séparé indépendamment de l'espace table système
redo log peut atteindre un maximum de 512G
Le thread d'arrière-plan innodb est indépendant
Optimiseur améliorations
ICP
Vous pouvez filtrer directement les données au niveau de la couche moteur pour éviter les retours de tables secondaires
Économisez de l'espace BP et améliorez les performances des requêtes
BKA
Nom complet Batch Key Access :
Lorsque SQL accède aux données de la table via l'index auxiliaire, il place un grand nombre d'accès aléatoires dans le cache et les remet à l'interface MRR pour les fusionner en accès séquentiels.
MRR
Nom complet Multi Range Lire :
Une fois l'algorithme BKA appliqué, l'accès aléatoire est fusionné en accès séquentiel via l'interface MRR, puis la table contient des données récupérées.
Changez un grand nombre d'accès aléatoires en accès séquentiels. Lors de la récupération d'une grande quantité de données via l'index auxiliaire, les performances sont considérablement améliorées
La tête magnétique n'a pas besoin de chercher d'avant en arrière, la page n'a besoin d'être lue qu'une seule fois et la lecture linéaire innodb la fonction forward est mieux utilisée (64 pages consécutives sont lues à l'avance à chaque fois).
Les informations statistiques sont persistantes et ne seront pas perdues après le redémarrage de mysqld
L'instruction expliquer prend en charge les instructions d'insertion, de mise à jour, de suppression, de remplacement et prend en charge le format JSON
Amélioration de l'optimisation des sous-requêtes.
Fonctionnalités de MySQL5.7, par rapport à 5.5 5.6
Sécurité
Le Le champ plugin de la table utilisateur mysql.user ne doit pas être vide. La valeur par défaut est mysql_native_password, et non mysql_old_password. L'ancien format de mot de passe n'est plus pris en charge
.Ajouter un mécanisme d'expiration du mot de passe, vous devez modifier le mot de passe après l'expiration, sinon il risque d'être désactivé, ou passer en mode sandbox
Ajouter un mécanisme d'expiration du mot de passe ; , expire Vous devez modifier le mot de passe plus tard, sinon il risque d'être désactivé ou de passer en mode sandbox
fournit une configuration d'accès de sécurité SSL plus simple et la connexion par défaut utilise le cryptage SSL.
Flexibilité
La base de données MySQL prend également en charge JSON à partir de la version 5.7.8.
peut stocker des données structurées et des données non structurées de manière mixte, et présente les avantages des bases de données relationnelles et non relationnelles
peut fournir Prise en charge complète des transactions
colonne générée est une nouvelle fonctionnalité introduite dans MySQL 5.7. La colonne dite générée signifie que cette colonne de la base de données est calculée à partir d'autres colonnes
Facilité d'utilisation
Avant MySQL 5.7, si l'utilisateur saisissait une instruction SQL incorrecte et appuyait sur ctrl c, bien que cela puisse "mettre fin" à l'exécution de l'instruction SQL , il quittera également la session en cours. MySQL 5.7 a amélioré cette fonctionnalité contre-intuitive et ne quitte plus la session.
MySQL 5.7 peut expliquer un SQL en cours d'exécution, ce qui sera très utile aux administrateurs de base de données pour analyser les instructions qui prennent beaucoup de temps à s'exécuter.
sys schema est une bibliothèque système introduite dans MySQL 5.7.7. Il contient une série de vues, de fonctions et de procédures stockées. Ce projet se concentre sur la facilité d'utilisation de MySQL.
Par exemple : comment afficher les index redondants dans la base de données ; comment obtenir les index inutilisés ; comment afficher les instructions SQL à l'aide d'analyses de tables complètes.
Disponibilité
Paramètres en ligne Règles de filtrage copiées Plus besoin de redémarrer MySQL, arrêtez simplement le SQLthread Une fois la modification terminée, démarrez le. Fil SQL.
Modifiez la taille du pool tampon en ligne.
Online DDL MySQL 5.7 prend en charge le renommage des index et la modification de la taille de varchar Dans les versions précédentes, les deux opérations nécessitaient la reconstruction de l'index ou de la table.
Activer GTID en ligne. Dans la version précédente, étant donné que l'activation de GTID en ligne n'était pas prise en charge, si l'utilisateur souhaite mettre à niveau la version inférieure de la base de données vers une version de base de données prenant en charge GTID, il doit d'abord fermer la base de données. Ensuite, il démarre en mode GTID, ce qui rend la mise à niveau particulièrement gênante.
Performances
Améliorations des performances des tables temporaires.
Les tables temporaires ne sont visibles que dans la session en cours
Le cycle de vie des tables temporaires est la connexion actuelle (MySQL est en panne ou redémarré, la connexion actuelle se termine)
Améliorations des performances des transactions en lecture seule.
MySQL 5.7 optimise la surcharge des transactions en lecture seule et améliore les performances globales de la base de données en évitant d'attribuer des ID de transaction pour les transactions en lecture seule, en n'attribuant pas de segments d'annulation pour les transactions en lecture seule et en réduisant la concurrence de verrouillage. .
Accélérez le traitement des connexions.
Avant MySQL 5.7, les opérations d'initialisation des variables (THD, VIO) étaient effectuées dans le thread de réception de connexion. Désormais, ces tâches sont envoyées au thread de travail pour réduire la charge de travail du thread de réception de connexion et améliorer le traitement. vitesse de la connexion. Cette optimisation sera très utile pour les applications qui établissent fréquemment des connexions courtes.
Amélioration des performances de réplication (prend en charge la réplication multithread (esclaves multithread, appelés MTS))
La configuration par défaut de MySQL est la réplication parallèle au Au niveau de la bibliothèque. Afin de tirer pleinement parti de la fonction de réplication parallèle de MySQL 5.7, nous devons configurer slave-parallel-type sur LOGICAL_CLOCK pour prendre en charge la réplication multi-sources
Modifications des paramètres par défaut
Le format binlog par défaut est ajusté au format ROW
L'opération d'erreur de journal binaire par défaut est ajustée à ABORT_SERVER
Si --initial-insecure est ajouté lors de l'initialisation, un compte root@localhost avec un mot de passe vide sera créé, sinon un compte root@localhost avec un mot de passe sera créé, et le mot de passe sera être écrit directement dans le journal des erreurs Dans le fichier journal ; les nouveaux utilisateurs doivent changer leur mot de passe immédiatement après s'être connectés, sinon ils ne pourront pas continuer leur travail.
Ce qui précède est le contenu des fonctionnalités de Mysql5.5&Mysql5.6&Mysql5.7 Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !