2009-05-29 8 views
1

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).

Répondre

2

Il peut certainement être la fragmentation dans les fichiers de données MySQL ou des fichiers d'index. Ceci est commun, même délibéré. En d'autres termes, le moteur de stockage peut délibérément laisser un peu d'espace ici et là. Ainsi, lorsque vous modifiez des valeurs, il peut adapter les lignes sans avoir à réorganiser l'ensemble du fichier de données. Il existe même des propriétés de serveur que vous pouvez utiliser pour configurer la quantité de cet espace de slop à allouer.

Je ne ferais même pas un clin d'œil à une divergence de fichier de 1-3%.

2

D'après ce que je comprends de MySQL Il a un algo de croissance à l'approche de la capacité, lorsqu'il est monté, il a choisi une taille différente, parage prolly excès de stockage

Questions connexes