2010-03-26 3 views
3

La colonne CRETAE_TIME de la table "TABLES" de INFORMATION_SCHEMA affiche la même valeur CREATE_TIME pour toutes mes tables innodb. Cela signifie que toutes ces tables ont été créées entre 2010-03-26 06:52:00 et 2010-03-26 06:53:00 alors qu'en fait elles ont été créées il y a quelques mois.Heure de création des tables Innodb

Le champ CREATE_TABLE change-t-il automatiquement pour les tables Innodb?

Répondre

3

Les champs create_time et update_time du schéma d'information correspondent aux horodatages de création/modification du stockage sous-jacent de la table. Avec MyISAM, chaque table a son propre fichier, donc l'horodatage de création/modification de ce fichier est renvoyé. Cependant, pour InnoDB, le stockage de toutes les tables se fait à l'intérieur d'un seul fichier, ibdata, de sorte qu'il n'y a que un pour créer/modifier l'horodatage. Cet horodatage unique est renvoyé pour toutes les tables InnoDB.

+0

Comment cela a-t-il changé aujourd'hui? J'ai vérifié hier et il n'a pas montré la date d'hier comme heure de création. – shantanuo

+1

vous pouvez créer un fichier unique par table avec le moteur innodb et il est fortement recommandé de le faire. http://dev.mysql.com/doc/refman/5.0/fr/multiple-tablespaces.html innodb_file_per_table –

+1

Je ne pense pas que ce soit exact. Je pense que CREATE_TIME est basé sur le fichier FRM pour InnoDB, et UPDATE_TIME est toujours null pour InnoDB. Donc innodb_file_per_Table n'est pas pertinent. –

4

Pour InnoDB, la valeur CREATE_TIME dans INFORMATION_SCHEMA.TABLES est basée sur l'heure modifiée du fichier FRM de la table. Cela représentera donc probablement la dernière fois que vous avez exécuté ALTER TABLE ou OPTIMIZE TABLE.

Questions connexes