7.2 Tables assemblées MERGE
7 Types de tables MySQL
Manuel de Référence MySQL 4.1 : Version Française
->Problèmes avec les tables MERGE
|
7.2.1 Problèmes avec les tables MERGE Voici une liste des problèmes connus avec les tables de type
MERGE
:
-
Une table
MERGE
peut pas pas supporter de contrainte de type
UNIQUE
sur toute la table. Lorsque vous faites une insertion, les données vont dans la
première ou la dernière table (suivant la méthode d'insertion
INSERT_METHOD=xxx
)
et cette table
MyISAM
s'assure que les données sont uniques, mais rien n'est
fait pour vérifier l'unicité auprès des autres tables
MyISAM
tables.
-
DELETE FROM merge_table
utilisé sans clause
WHERE
va uniquement détruire la table assemblée, mais ne va pas toucher les tables
sous-jacentes.
-
RENAME TABLE
utilisé sur une table de type
MERGE
peut
corrompre la table. Cela sera corrigé en MySQL 4.0.x.
-
La création d'une table de type
MERGE
ne vérifie pas si les
tables sous-jacentes sont compatibles. Si vous utilisez une table
MERGE
de cette façon, vous devriez rencontrer des problèmes très
étranges.
-
Si vous utilisez la commande
ALTER TABLE
pour ajouter un index
de type
UNIQUE
à une table qui est utilisée dans une table
assemblée
MERGE
, puis que vous utilisez
ALTER TABLE
pour
ajouter un index normal dans la table
MERGE
, l'ordre des clé sera
différent suivant les tables, si jamais il y avait une vieille clé non
unique. Ceci est dû au fait que
ALTER TABLE
place les clés
UNIQUE
avant les clés normales, pour être capable de détecter les doublons le plus tôt
possible.
-
L'optimiseur d'intervalle ne peut pas encore utiliser les tables
MERGE
efficacement, et il produit parfois des jointures sub-optimales. Cela sera
corrigé en MySQL 4.0.x.
-
DROP TABLE
sur une table qui est utilisé par une table
MERGE
ne fonctionne
pas sous Windows car le gestionnaire de
MERGE
garde les connexions vers les tables
cachées sous la couche MySQL. Comme Windows ne vous permet pas d'effacer une table
qui est ouverte, vous devez d'abord fermer toute les tables
MERGE
(avec la commande
FLUSH TABLES
) ou effacer la table
MERGE
avant
de pouvoir effacer la table désirée. Nous allons corriger lorsque nous introduirons
les vues.
VIEW
s.
|