Mysql
 sql >> Base de données >  >> RDS >> Mysql

La création d'index peut-elle utiliser des index existants ?

MySQL reconstruit généralement toute la table lorsque vous ajoutez un index, de sorte que tous ceux qui existent sont également reconstruits. Cela peut être lent.

La seule exception est l'ajout d'un index à l'aide du plugin InnoDB, qui ne le fait pas.

Autant que je sache, il effectue toujours une analyse complète de la table lors de la création d'un index, mais il POURRAIT effectuer une analyse d'index si vous ajoutiez un index qui avait le même (ou un sous-ensemble) de colonnes qu'un autre index. De tels index ne sont normalement utiles que si les colonnes sont dans un ordre différent.

En utilisant stock mysql, plus vous avez d'index, plus il sera lent d'en créer un nouveau, car il reconstruit également les index existants.

Avec le plugin, je pense que cela ne fait aucune différence.

Quoi qu'il en soit, si vous prévoyez d'ajouter plusieurs index, vous devez les faire tous à la fois et non un à la fois.