List:Internals« Previous MessageNext Message »
From:Hagen Höpfner Date:November 21 2005 8:59pm
Subject:MYI-Status ...
View as plain text  
Dear List,

it's time to ask my next long question regarding the myi-structure. From
the interals documentation I learned that the status information
consists (beside others) of the parts that I try to interpret in the
following. Please let  me know, wether my interpretion is correct or
correct it.

Thanx a lot, Hagen

Name                         Size Dump 
----                         ---- ----
---------------------------------------------------------------------
state->open_count             2   00 01
*** I assume, that this value shows how often the MYI-File is opened by paralle processes.
*** 
---------------------------------------------------------------------
state->changed                1   39
*** I assume that this is only a flag but do not understand why it is 39 here.
Furthermore, If I reboot my machine, the value stays 39 but the description says that it
should be reseted. So I'am a little bit confused ;-) ***
---------------------------------------------------------------------
state->sortkey                1   FF                      
*** Is this a relict ??? It is not used but available. ***
---------------------------------------------------------------------
state->state.records          8   00 00 00 00 00 00 00 02 
*** Thats easy to understand, but does this mean, that MyISAM allows "only"
18446744073709551615 (FF FF FF FF FF FF FF FF) tuples per table? ***
---------------------------------------------------------------------
state->state.del              8   00 00 00 00 00 00 00 01 
*** Thats the number of tuples marked deleted. ***
---------------------------------------------------------------------
state->split                  8   00 00 00 00 00 00 00 03 
*** How many chunks are available due to the deletion of rows. But what is a chunk? *** 
---------------------------------------------------------------------
state->dellink                8   00 00 00 00 00 00 00 07 
*** Link to the a row marked deleted in the myd-file ***
---------------------------------------------------------------------
state->state.key_file_length  8   00 00 00 00 00 00 0c 00 2048
*** size of .MYI file --> the maximal size of an index file is 18446744073709551615
Bytes ***
---------------------------------------------------------------------
state->state.data_file_length 8   00 00 00 00 00 00 00 15
*** size of .MYD file --> the maximal size of an data file is 18446744073709551615
Bytes ***
---------------------------------------------------------------------
state->state.empty            8   00 00 00 00 00 00 00 00
*** I have got no idea what this value means ? ***
---------------------------------------------------------------------
state->state.key_empty        8   00 00 00 00 00 00 00 00
*** I have got no idea what this value means ? ***
---------------------------------------------------------------------
state->auto_increment         8   00 00 00 00 00 00 00 00
*** Current value of the autoincrement column --> only one auto_increment column
allowed ***
---------------------------------------------------------------------
state->checksum               8   00 00 00 00 00 00 00 00
*** Checksum for what??? ***
---------------------------------------------------------------------
state->process                4   00 00 09 E6             
*** PID of the process that modified the table for the last time ***
---------------------------------------------------------------------
state->unique                 4   00 00 00 0B
*** I assume, that this value is the number of unique entries in the index. But, if I have
a combined key (S2,S3) ... has the combination be unique in order to get counted??? In
other world, what does the 0x0B mean here??? *
---------------------------------------------------------------------
state->status                 4   00 00 00 00
*** I do not have any idea ;-( ***
---------------------------------------------------------------------
state->update_count           4   00 00 00 04 
*** Number of write locks to the table. What happens in case of an overflow? E.g. if I
Insert 0x01 00 00 00 00 rows, each with a separate insert statement? ***
---------------------------------------------------------------------      
state->key_root               8   00 00 00 00 00 00 04 00 
*** offset in myi-file where I1 key starts. But, what is the reference point for this
offset??? Furthermore, in the base part of the index you have got a field
base->keystart which contails the same value. Are both values the same? ***
---------------------------------------------------------------------
                                  00 00 00 00 00 00 08 00
*** offset in myi-file where I2 key starts. But, what is the reference point for this
offset ... (2048 Bytes after what)? ***
---------------------------------------------------------------------                     
                                                                                          
 
state->key_del                8   FF FF FF FF FF FF FF FF
*** Link to a place in the myi-file where a key was stored that was indexing a now deleted
tuple, Am I right? ***
---------------------------------------------------------------------
state->sec_index_changed      4   00 00 00 00
*** not used ... was it used in previous versions or will it be used in upcoming versions?
***
---------------------------------------------------------------------
state->sec_index_used         4   00 00 00 00
*** not used ... was it used in previous versions or will it be used in upcoming versions?
***
---------------------------------------------------------------------
state->version                4   3F 3F EB F7
*** this is called to be the timestamp of the creation of the index file, isn't it? ***
---------------------------------------------------------------------
state->key_map                8   00 00 00 03             
*** "what keys are in use" --> but, what does this mean? Furthermore, I assume, that
the lenght in the documentation (8 bytes) is wrong here!***
---------------------------------------------------------------------
state->create_time            8   00 00 00 00 3F 3F EB F7 
*** timestamp of the creation of the database. But, why do you use here 8 byte and for the
state->version only 4??? ***
---------------------------------------------------------------------
state->recover_time           8   00 00 00 00 00 00 00 00 
*** timestamp of last recover ***
---------------------------------------------------------------------
state->check_time             8   00 00 00 00 3F 3F EB F7 "time of last check"
*** timestamp of last check ***
---------------------------------------------------------------------
state->rec_per_key_rows       8   00 00 00 00 00 00 00 00
*** I do not have any idea ;-( ***
---------------------------------------------------------------------
state->rec_per_key_parts      4   00 00 00 00             (key_parts = 3, so
                                  00 00 00 00              rec_per_key_parts
                                  00 00 00 00              occurs 3 times)

*** I do not have any idea ;-(  ***

---------------------------------------------------------------------


Thread
MYI-Status ...Hagen Höpfner21 Nov
  • Re: MYI-Status ...Sergei Golubchik22 Nov
    • Re: MYI-Status ...Hagen Höpfner19 Dec
      • Re: MYI-Status ...Sergei Golubchik19 Dec