5.4 Optimisation de la structure de la base de données
5 Optimisation de MySQL
Manuel de Référence MySQL 4.1 : Version Française
->Conception . Rendre vos tables aussi compactes que possible . Comment MySQL utilise les index . Index de colonnes . Index sur plusieurs colonnes . Pourquoi tant de tables ouvertes ? . Quand MySQL ouvre et ferme les tables . Inconvénients de la création d'un grand nombre de tables dans la même base de données
|
5.4.1 Conception
MySQL conserve les données et les index dans deux fichiers séparés. De nombreux
(et en fait presque toutes) les autres bases mélangent les données et les
index dans le même fichier. Nous pensons que le choix de MySQL est bien
meilleur pour un grand nombre de systèmes modernes.
Une autre méthode de stockage des données est de conserver les informations
de chaque colonne dans une zone séparée (par exemple SDBM et Focus).
Cela va réduire les performances qui accèdent à plus d'une colonne.
Comme cela dégénère vite lorsque plus d'une colonne est utilisée, nous
pensons que ce modèle n'est pas bon pour une base de données généraliste.
Les cas les plus courants sont que les index et les données sont stockées
ensemble (comme Oracle/Sybase et al). Dans ce cas, vous aurez aussi les informations
de lignes dans la page finale de l'index. L'intérêt d'une telle organisation
est que, dans de nombreuses situations, dépendamment du cache d'index,
vous économisez des lectures disques. Les problèmes de cette organisation sont :
-
Le scan des tables est bien plus lent, car vous devez lire les
index pour obtenir les données.
-
Vous ne pouvez pas utiliser uniquement l'index pour lire des données pour une
requête.
-
Vous utilisez beaucoup d'espace, et vous devez dupliquer des index de
noeuds (car vous ne pouvez pas simplement stocker des lignes dans les noeuds).
-
Les suppressions vont perturber la table (comme les index ne sont pas modifiés
lors de l'effacement).
-
Il est plus difficile de ne mettre en cache que les données.
|