La suppression d'une table MySQL supprime-t-elle automatiquement les index de cette table?La suppression d'une table MySQL supprime-t-elle automatiquement les index de cette table?
Répondre
Oui. Il laisse tomber les index. Cela peut être vérifié:
CREATE TABLE table1 (foo INT); CREATE INDEX ix_table1_foo ON table1 (foo); CREATE INDEX ix_table1_foo ON table1 (foo); -- fails: index already exists. DROP TABLE table1; CREATE TABLE table1 (foo INT); CREATE INDEX ix_table1_foo ON table1 (foo); -- succeeds: index does not exist.
Vous pouvez également vérifier en regardant dans le information schema:
CREATE TABLE table1 (foo INT); CREATE INDEX ix_table1_foo ON table1 (foo); SELECT COUNT(*) FROM information_schema.STATISTICS WHERE INDEX_NAME = 'ix_table1_foo'; -- returns 1 DROP TABLE table1; SELECT COUNT(*) FROM information_schema.STATISTICS WHERE INDEX_NAME = 'ix_table1_foo'; -- returns 0
http://dev.mysql.com/doc/refman/5.1/en/drop-table.html
Toutes les données de la table et la table définition sont supprimés, alors soyez prudent avec cette déclaration!
Oui, c'est le cas. Sans table, il n'y a pas de raison de garder les index.
Vous pouvez le confirmer en créant une table MyISAM et en recherchant dans le dossier de données tablename.MYI
. Une fois que vous déposez la table, ce fichier sera parti.
Oui. Les index font partie de leur table propriétaire et sont libérés avec les données de la ligne lorsqu'ils sont supprimés.
(indices étrangers-clés sur d'autres tableaux qui s'y réfèrent empêchera la table en cours de suppression.)
Quand une table est abandonné toutes les données, les index et les informations liées seront supprimés aswell. Vous pouvez regarder cela comme une suppression en cascade d'une ligne, lorsque vous supprimez une ligne toutes les informations qui y étaient liées seront également supprimées (clés étrangères, etc.)
- 1. Afficher les index dans la table MySQL
- 2. Table MySQL myisam, table temporaire et index
- 3. Mysql FULLTEXT index, recherche verrouille la table
- 4. MySQL supprimer tous les index de la table
- 5. Type de table MySql, comment dessiner automatiquement les données d'une table d'une table à une autre?
- 6. Suppression de la contrainte de la table MySQL
- 7. mysql: boucle sur les tables et alter table ajouter index
- 8. mySQL: comment remplir cette questions - réponses Table
- 9. Trier les champs de la table mySQL
- 10. Pourquoi cette instruction MySQL Create Table échoue?
- 11. add index to axapta-table
- 12. Après une grande suppression de la table?
- 13. Insertion de la table MySQL
- 14. MySQL bases de données suppression de table mystérieuse
- 15. mysql :: insérer dans la table, les données d'une autre table?
- 16. mysql - bonne pratique: table avec plus d'un index?
- 17. Verrouillage de table MySQL MyISAM
- 18. Suppression d'une table entière
- 19. Optimiser la table mysql?
- 20. Est-ce que cette table PostgreSQL peut être convertie en une table MySQL?
- 21. Aide à la requête MySQL: comment faire pivoter cette table?
- 22. Suppression d'une table dans MySQL (3.23.58) avec un caractère spécial dans le nom de table
- 23. MySQL table de partitionnement
- 24. MYSQL alter table - ajouter INDEX + FOREIGN KEY donne erreur 1005
- 25. Copier une table (y compris les index) dans postgres
- 26. Conception de table Mysql: rôles de table
- 27. Insertion de la table MySQL
- 28. Création d'un index numérique sur une table MySQL
- 29. Je veux ajouter l'option de suppression pour la table
- 30. Synchronisation des index de la table du pointeur de fonction au contenu de la table
Ce n'est pas aussi une question particulière que je pensais qu'il était en première lecture, en fait. Alors que les docs de MySQL ne mentionnent pas explicitement que DROP TABLE va supprimer tous les index, je pense que c'est implicitement le cas. –