J'ai pris une base de données MySQL existante, et mis en place une copie sur un nouvel hôte.Pourquoi deux fichiers mysql (même table, même contenu) auraient une taille différente?
La taille de fichier de certaines tables du nouvel hôte est inférieure de 1 à 3% à celle de leurs fichiers homologues sur l'ancien hôte.
Je suis curieux de savoir pourquoi. Je suppose que les fichiers de l'ancien hôte ont augmenté au fil du temps et que, dans la structure b-tree de ce fichier, la fragmentation est plus importante. Alors que le nouvel hôte, parce qu'il créait le fichier à partir de zéro (via un journal binaire), a évité une telle fragmentation.
Est-il même logique qu'il y ait une fragmentation au sein de la structure b-tree elle-même? (Parlant dans la couche de base de données, et pas en ce qui concerne la couche du système de fichiers OS) J'ai d'abord pensé "non", mais encore une fois, cette fragmentation n'est-elle pas la base de la tâche DBA de compression des fichiers de base de données?
Je me demande peut-être si c'est simplement un artefact de la couche du système de fichiers. c'est-à-dire que le nouvel hôte a un lecteur de disque la plupart du temps vide, donc moins de fragmentation entraînerait l'attribution d'un nouveau fichier. Là encore, je ne pensais pas que la fragmentation apparaîtrait dans la taille du fichier rapporté (Linux OS).