List:General Discussion« Previous MessageNext Message »
From:Julian Pellico Date:March 30 2005 10:31pm
Subject:Re: PACK_KEYS not packing keys?
View as plain text  
Thanks Dan,

I ran myisamchk as you suggested. The detailed results are below, but
in summary there's no difference between the two indices. Perhaps
mysql doesn't want to pack the key for some reason? I'm running
FreeBSD 4.1.

Checking MyISAM file: /home/y/var/mysql/data/Test/Unpacked.MYI
Data records:  100000   Deleted blocks:       0
myisamchk: warning: 1 client is using or hasn't closed the table properly
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
Key:  1:  Keyblocks used:  98%  Packed:    0%  Max levels:  3
Total:    Keyblocks used:  98%  Packed:    0%

- check records and index references

Records:            100000    M.recordlength:        9   Packed:             0%
Recordspace used:      100%   Empty space:           0%  Blocks/Record:   1.00
Record blocks:      100000    Delete blocks:         0
Record data:        900000    Deleted data:          0
Lost space:              0    Linkdata:              0
MyISAM-table '/home/y/var/mysql/data/Test/Unpacked.MYI' is usable but
should be fixed

User time 0.25, System time 0.00
Maximum resident set size 3044, Integral resident set size 580664
Non-physical pagefaults 660, Physical pagefaults 0, Swaps 0
Blocks in 0 out 0, Messages in 9 out 0, Signals 0
Voluntary context switches 8, Involuntary context switches 135



Checking MyISAM file: /home/y/var/mysql/data/Test/Packed.MYI
Data records:  100000   Deleted blocks:       0
myisamchk: warning: 1 client is using or hasn't closed the table properly
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
Key:  1:  Keyblocks used:  98%  Packed:    0%  Max levels:  3
Total:    Keyblocks used:  98%  Packed:    0%

- check records and index references

Records:            100000    M.recordlength:        9   Packed:             0%
Recordspace used:      100%   Empty space:           0%  Blocks/Record:   1.00
Record blocks:      100000    Delete blocks:         0
Record data:        900000    Deleted data:          0
Lost space:              0    Linkdata:              0
MyISAM-table '/home/y/var/mysql/data/Test/Packed.MYI' is usable but
should be fixed

User time 0.24, System time 0.01
Maximum resident set size 3052, Integral resident set size 666608
Non-physical pagefaults 660, Physical pagefaults 0, Swaps 0
Blocks in 0 out 0, Messages in 9 out 0, Signals 0
Voluntary context switches 8, Involuntary context switches 141

If anyone has any ideas about this....please let me know.
- Julian

>Now from this description, I would have expected a 2-byte savings per
>record (since the three most-significant bytes of each key should get
>compressed out, but you lose one byte to store the same-bytes value,
>for a total savings of 2).  Try running "myisamchk -eis" on each table
>and see what the usage and packing percentages are for each index.  It
>may be that your 'packed' table is using the same number of keyblocks,
>just less-densely filled.
Thread
PACK_KEYS not packing keys?Julian Pellico30 Mar
  • Re: PACK_KEYS not packing keys?Dan Nelson30 Mar
Re: PACK_KEYS not packing keys?Julian Pellico31 Mar