dbTalk Databases Forums  

Difference between internal data dictionary and table definition file

mailing.database.mysql-internals mailing.database.mysql-internals


Discuss Difference between internal data dictionary and table definition file in the mailing.database.mysql-internals forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Kinaan Khan Sherwani
 
Posts: n/a

Default Difference between internal data dictionary and table definition file - 03-27-2012 , 08:14 AM






Hi,

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 ?
If no then kindly help me by telling what information is stored in one
that is different from other.

Waiting for a response,
Kinaan Khan Sherwani

--
MySQL Internals Mailing List
For list archives: http://lists.mysql.com/internals
To unsubscribe: http://lists.mysql.com/internals

Reply With Quote
  #2  
Old   
Stewart Smith
 
Posts: n/a

Default Re: Difference between internal data dictionary and table definition file - 03-27-2012 , 08:14 PM






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

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.