On Tue, 27 Mar 2012 18:14:44 +0500, Kinaan Khan Sherwani <mr.sherwani (AT) gmail (DOT) com> wrote:
Quote:
I am an undergraduate student and want to learn about innodb storage
engine. I came up with this line in mysql reference manual that MySQL
server keeps data dictionary information in .frm files which it stores
in the database
directories, whereas InnoDB also stores the information into its own
data dictionary inside the table space files.I want to know , where
comes the difference between InnoDB internal data dictionary and table
definition ( .frm ) files . Do they store the same information about a
table ? |
No, they don't store all the same information. While the InnoDB data
dictionary duplicates a bunch of the information in the FRM, it does not
contain all of it.
e.g. the MySQL ENUM type is really just a integer when it comes down to
InnoDB.
The FRM is the only place for table/column comments, real column types,
the 80x24 VT100 text interface definition etc.
If you want to delve in a bit more, check out how Drizzle does it. We
allow you to (read) the InnoDB data dictionary tables, you can see the
(remotely human readable) definition for the table protobuf message and
you can use the table protobuf printer utility to see what's in it for a
particular table.
There are a couple of sites out there that attempt to explain the FRM
file format, but all are incomplete beyond the obvious.
--
Stewart Smith
--
MySQL Internals Mailing List
For list archives: http://lists.mysql.com/internals
To unsubscribe: http://lists.mysql.com/internals