ISAM Tables

You can also use the deprecated ISAM table type. This will disappear rather soon (probably in MySQL 4.1) because MyISAM is a better implementation of the same thing. ISAM uses a B-tree index. The index is stored in a file with the .ISM extension, and the data is stored in a file with the .ISD extension. You can check/repair ISAM tables with the isamchk utility. See Section 4.4.6.7.

ISAM has the following features/properties:

  • Compressed and fixed-length keys.

  • Fixed and dynamic record length.

  • 16 keys with 16 key parts/key.

  • Max key length 256 (default).

  • Data is stored in machine format; this is fast, but is machine/OS-dependent.

Most of the things true for MyISAM tables are also true for ISAM tables. See Section 7.1. The major differences compared to MyISAM tables are:

  • ISAM tables are not binary-portable across OS/platforms.

  • Can’t handle tables > 4G.

  • Only support prefix compression on strings.

  • Smaller key limits.

  • Dynamic tables get more fragmented.

  • Tables are compressed with pack_isam rather than with myisampack.

If you want to convert an ISAM table to a MyISAM table so that you can use utilities such as mysqlcheck, use an ALTER TABLE statement:

mysql> ALTER TABLE tbl_name TYPE = MYISAM;

The embedded MySQL versions doesn’t support ISAM tables.

Get MySQL Reference Manual now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.