:: DEVELOPER ZONE
Memory allocation is important when you run
myisamchk. myisamchk uses no
more memory than you specify with the -O
options. If you are going to use myisamchk on
very large tables, you should first decide how much memory you want
it to use. The default is to use only about 3MB to perform repairs.
By using larger values, you can get myisamchk to
operate faster. For example, if you have more than 32MB RAM, you
could use options such as these (in addition to any other options
you might specify):
shell> myisamchk -O sort=16M -O key=16M -O read=1M -O write=1M ...
Using -O sort=16M should probably be enough for
most cases.
Be aware that myisamchk uses temporary files in
TMPDIR. If TMPDIR points to a
memory filesystem, you may easily get out of memory errors. If this
happens, set TMPDIR to point at some directory
located on a filesystem with more space and run
myisamchk again.
When repairing, myisamchk also needs a lot of disk space:
Double the size of the data file (the original one and a copy).
This space is not needed if you do a repair with
--quick; in this case, only the index file is
re-created. This space is needed on the same filesystem as the
original data file! (The copy is created in the same directory as
the original.)
Space for the new index file that replaces the old one. The old index file is truncated at the start of the repair operation, so you usually ignore this space. This space is needed on the same filesystem as the original index file!
When using --recover or
--sort-recover (but not when using
--safe-recover), you need space for a sort
buffer. The amount of space required is:
(largest_key+row_pointer_length) *number_of_rows* 2
You can check the length of the keys and the
row_pointer_length with myisamchk -dv
tbl_name. This space is
allocated in the temporary directory (specified by
TMPDIR or
--tmpdir=).
path
If you have a problem with disk space during repair, you can try to
use --safe-recover instead of
--recover.
© 1995-2005 MySQL AB. All rights reserved.

User Comments
Warning: query failed: Unknown column 'user.firstname' in 'field list' in /data0/sites/live/web-main/lib/mysql-cxn.php on line 69
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /data0/sites/live/web-main/lib/docbook.php on line 245
Add your own comment.