Vous êtes sur la page 1sur 3

MySQL

Sous MySQL, les choses sont un peu différentes. On retrouve bien un mécanisme de cache,

mais d'une nature différente. Le cache de requête permet de garder en cache le résultat

des requêtes précédemment exécutées.

Le cache mémoire correspondant au buffer cache d'Oracle est, lui, de la responsabilité du

moteur de stockage :

• Le moteur MyISAM n'en a pas. Il part du principe que le système d'exploitation en

possède un et qu'il sera tout aussi efficace d'utiliser celui-là. Cette solution est un peu

moins intéressante mais elle a l'avantage de simplifier le moteur de stockage.

• Le moteur InnoDB intègre, lui, un cache mémoire similaire, sur le principe au buffer

cache d'Oracle.

1.3 Intérêt des index dans les SGBDR

Nous avons vu précédemment que, dans une table organisée en tas, les données
n’ont pas d’ordre particulier. Lorsque le SGBDR cherche une information suivant

un critère particulier (on parle de clé de recherche), il n’a pas d’autre choix que de

parcourir l’ensemble des enregistrements pour trouver ceux qui répondent au critère

demandé. Vous imaginez aisément que, lorsqu’il y a beaucoup d’enregistrements,

cette méthode n’est pas très intéressante. C’est pour répondre plus efficacement à ce

genre de besoin que la notion d’index a été introduite dans les SGBDR. Un index de

base de données ressemble un peu à l’index de ce livre. Il contient une liste ordonnée

de mots et une référence vers la page qui les contient. De plus, l’index est bien plus

petit que le livre.

Si nous retranscrivons cela en termes de base de données, un index contient la clé

de recherche et une référence vers l’enregistrement. Son principal avantage est qu’il

est ordonné. Cela permet d’y appliquer des techniques de recherche par dichotomie,
beaucoup plus efficaces que les recherches linéaires dès que le nombre d’enregistrements s’élève.

Les index sont intéressants avec les tables organisées en tas. Cependant, le besoin

est le même avec les tables organisées suivant des index (IOT) qui sont déjà triées.

En effet, si l’ordre de la table n’est pas celui de la clé de recherche, le problème

reste entier. Par exemple, si vous gérez une liste de personnes triée par numéro de

Sécurité sociale, lorsque vous faites une recherche sur le nom, vous n’êtes pas plus

avancé que la liste soit triée par numéro de Sécurité sociale ou pas triée du tou

Vous aimerez peut-être aussi