Maison  >  Article  >  base de données  >  Présentation du tampon de modification dans le pool de tampons MySQL

Présentation du tampon de modification dans le pool de tampons MySQL

coldplay.xixi
coldplay.xixiavant
2021-03-29 09:47:551954parcourir

Présentation du tampon de modification dans le pool de tampons MySQL

4 tampon de changement

4.1 Concepts de base

tampon de changement est une structure de données spéciale qui met en cache les modifications apportées aux pages d'index secondaires lorsque ces pages ne se trouvent pas dans le pool de mémoire tampon. Les modifications de tampon pouvant être provoquées par les opérations INSERT, UPDATE ou DELETE (DML) seront fusionnées ultérieurement lorsque la page sera chargée dans le pool de tampons par d'autres opérations de lecture.

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo MySQL

Comme on peut le voir dans l'image ci-dessus, le tampon de modification est utilisé. La mémoire dans le pool de tampons ne peut pas croître à l'infini. La taille du tampon de modification peut être définie dynamiquement via le paramètre innodb_change_buffer_max_size.
Par exemple, si défini sur 50 : la taille du tampon de modification ne peut occuper que jusqu'à 50 % du pool de tampons.

Lorsqu'une page de données doit être mise à jour :

  • la page est en mémoire, mettre à jour directement la page
  • n'est pas en mémoire, sans affecter les données cohérence, InooDB Ces opérations de mise à jour seront mises en cache dans le tampon de modification sans qu'il soit nécessaire de lire la page à partir du disque

Lorsque la requête suivante accède à la page de données, la page de données sera lue dans la mémoire , puis le tampon de modification sera exécuté avec les opérations liées à cette page. De cette manière, l'exactitude de la logique des données peut être garantie.

Le tampon de modification est en fait une donnée persistante, c'est-à-dire qu'il est non seulement copié dans la mémoire, mais également écrit sur le disque.

4.2 fusion

Le processus d'application des opérations dans le tampon de modification à la page de données d'origine pour obtenir les derniers résultats.

4.2.1 Synchronisation du déclenchement

  1. Accéder à la page de données
  2. Le thread d'arrière-plan du système fusionne régulièrement
  3. La base de données est fermé normalement (arrêt) processus

Si l'opération de mise à jour peut d'abord être enregistrée dans le tampon de modification pour réduire la lecture du disque, la vitesse d'exécution de l'instruction sera considérablement améliorée. Et la lecture des données en mémoire nécessite d'occuper le pool de mémoire tampon, ce qui peut également réduire l'utilisation de la mémoire et améliorer l'utilisation de la mémoire.

4.3 Quand utiliser le tampon de changement

  • Pour un index unique, les opérations de mise à jour doivent d'abord déterminer si l'opération viole la contrainte d'unicité :
    Par exemple , Pour insérer (4 400) enregistrements, vous devez d'abord déterminer si k=4 enregistrements sont déjà stockés dans la table, et vous devez lire la page de données dans la mémoire pour le déterminer. Si tout a été lu dans la mémoire, la mise à jour directe de la mémoire sera très rapide et il n'est pas nécessaire d'utiliser le tampon de modification.
    Par conséquent, la mise à jour d'un index unique ne peut pas utiliser le tampon de changement, seul l'index ordinaire peut utiliser .

4.4 Scénarios applicables

Tous les scénarios d'indexation ordinaire peuvent-ils être accélérés en utilisant un tampon de modification ?

Notez que la fusion est le moment où les données sont réellement mises à jour. Le tampon de modification met principalement en cache les actions de modification enregistrées. Par conséquent, avant qu'une page de données ne soit fusionnée, plus l'enregistrement du tampon de modification comporte de modifications (c'est-à-dire plus la page de données doit être mise à jour), plus l'avantage est grand.

  • Écrivez plus et lisez moins d'affaires. La page est moins susceptible d'être consultée immédiatement après l'écriture. L'utilisation du tampon de modification a le meilleur effet. Les systèmes de facturation et de journalisation sont couramment utilisés.
  • Requête immédiatement après l'écriture, et le nouvel enregistrement sera enregistré dans le tampon de modification. Cependant, en raison de l'accès immédiat à la page de données, la fusion sera déclenchée rapidement. Dans ce cas, le nombre est aléatoire. L'accès aux E/S ne sera pas réduit, mais augmentera le coût de maintenance du tampon de changement, le tampon de changement a des effets secondaires.

Plus de recommandations d'apprentissage gratuites associées : tutoriel mysql(vidéo)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer