List:Internals« Previous MessageNext Message »
From:Hagen Höpfner Date:December 11 2005 10:09pm
Subject:Re: MYI-Status ...
View as plain text  
Dear all,

again it took a lot of time before I had the chance to go through all
the answers ... First thanx to Sergei for doing an exelent job ;-) But,
some more question came up:

>>---------------------------------------------------------------------
>>state->open_count             2   00 01
>>*** I assume, that this value shows how often the MYI-File is opened
>>by paralle processes. *** 
>>    
>>
>
>Copying from mi_locking.c
>
>/*
>  DOCUMENTATION
>  
>
...

Does this mean the following: If we have two processes that try to write to the file, then
the first one increments open_count and the second process gets blocked until process one
closes the file, which decreases the open_count? 


>>---------------------------------------------------------------------
>>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!***
>>    
>>
>
>If a bit is not set for some particular key it will not be updated on
>write/delete/update, it won't be used on search.
>
Perhaps a stupid question but ... Why should one turn of an index ???
However, next question: How can I turn of an index without manually
modifying the key_map. And the third question to this answer ... Does
this mean, that MyISAM supports "only" 64 (8 Bytes á 8 Bits) indexes per
Table?

>>---------------------------------------------------------------------
>>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??? ***
>>    
>>
>
>I assume you mean "of the table".
>Why ? Because 'version' is not used anywhere, as far as I can see, so
>nobody cares.
>  
>
Yes, and create_time now uses 8 Byte because of the year 2000 problem ;-)

>>---------------------------------------------------------------------
>>state->recover_time           8   00 00 00 00 00 00 00 00 
>>*** timestamp of last recover ***
>>    
>>
I greped for "recover_time" but was unable to find a tool that modifies
this value. Is it really used?

>>---------------------------------------------------------------------
>>state->check_time             8   00 00 00 00 3F 3F EB F7 "time of last check"
>>*** timestamp of last check ***
>>
mysqlcheck updates this value but myisamchk does not ... correct?

>>---------------------------------------------------------------------
>>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)
>>    
>>
>
>Ok, this is an array, with number of elements equal to the total number
>of keyparts of all indexes. For the table
>  
>
... again, I tried out this ... might it be true, that
rec_per_key_parts-entries are created but not calculated for keyparts
coming from fulltext-indexes?

Hagen

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