myisamchk supports the following options for actions other than table checks and repairs:
--analyze
,-a
Command-Line Format --analyze
Analyze the distribution of key values. This improves join performance by enabling the join optimizer to better choose the order in which to join the tables and which indexes it should use. To obtain information about the key distribution, use a myisamchk --description --verbose
tbl_name
command or theSHOW INDEX FROM
statement.tbl_name
--block-search=
,offset
-b
offset
Command-Line Format --block-search=offset
Type Numeric Find the record that a block at the given offset belongs to.
--description
,-d
Command-Line Format --description
Print some descriptive information about the table. Specifying the
--verbose
option once or twice produces additional information. See Section 4.6.3.5, “Obtaining Table Information with myisamchk”.--set-auto-increment[=
,value
]-A[
value
]Force
AUTO_INCREMENT
numbering for new records to start at the given value (or higher, if there are existing records withAUTO_INCREMENT
values this large). Ifvalue
is not specified,AUTO_INCREMENT
numbers for new records begin with the largest value currently in the table, plus one.--sort-index
,-S
Command-Line Format --sort-index
Sort the index tree blocks in high-low order. This optimizes seeks and makes table scans that use indexes faster.
--sort-records=
,N
-R
N
Command-Line Format --sort-records=#
Type Numeric Sort records according to a particular index. This makes your data much more localized and may speed up range-based
SELECT
andORDER BY
operations that use this index. (The first time you use this option to sort a table, it may be very slow.) To determine a table's index numbers, useSHOW INDEX
, which displays a table's indexes in the same order that myisamchk sees them. Indexes are numbered beginning with 1.If keys are not packed (
PACK_KEYS=0
), they have the same length, so when myisamchk sorts and moves records, it just overwrites record offsets in the index. If keys are packed (PACK_KEYS=1
), myisamchk must unpack key blocks first, then re-create indexes and pack the key blocks again. (In this case, re-creating indexes is faster than updating offsets for each index.)