… PACK_KEYS=1. Might be it is some kind of special hack
The fact MyISAM will by default compress string keys but not integer keys…(20) NOT NULL default ”, KEY `c` (`c`), KEY `id` (`id`) ) ENGINE=MyISAM Index size: PACK_KEYS=DEFAULT – 1550K PACK_KEYS=1 – 1453K PACK_KEYS=0 – 8176K As we can…
Post: To pack or not to pack - MyISAM Key compression
Post: Beware of MyISAM Key Cache mutex contention
… time of key_block being copied from key_cache to the thread local space. Happily MyISAM allows you to create multiple key caches . We… tenfold and performance almost doubled. Another interesting result was – adding PACK_KEYS=0 to most actively updated tables almost doubled throughput again…
Post: Using CHAR keys for joins, how much is the overhead ?
… was expected as MyISAM uses key compression for varchar columns so random key lookups become significantly slower. I tried to set pack_keys=0 which… tables MyISAM Tables may suffer significantly if key compression is not disabled Joining on Shorter CHAR keys is significantly faster than Long keys Latin1…
Post: ANALYZE: MyISAM vs Innodb
… for MYISAM: mysql> show index from antest; +——–+————+———-+————–+————-+———–+————-+———-+——–+——+————+———+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null…
Post: Using MyISAM in production
… you have decent myisam_sort_buffer_size and large myisam_max_sort_file_size otherwise recovery may be done by key_cache rather… still watch out. Lack of row cache. MyISAM tables only have indexes cached in key_buffer while data is cached in OS… storage engine can be even better. Read only data, especially packed with myisampack. This can’t be corrupted or updated and…
Post: Concatenating MyISAM files
… the migration of a large read-only InnoDB database to MyISAM (eventually packed). The only issue was that for one of the… MyISAM_table1 and so on for the 16 files. Since MyISAM are flat files, that should be faster, especially with the keys disabled… table test_concat(id int unsigned not null, primary key (id)) engine=myisam; Query OK, 0 rows affected (0.01 sec) mysql…
Comment: To pack or not to pack - MyISAM Key compression
… information. I have done a test to turn all the pack_keys in a Discuz! database into 1, in a middle size… also have a question, that you said “Be careful with PACK_KEYS=0 as it can blow up your index size 10x… confused with a table, whose index declines when PACK_KEYS=0(changed from DEFAULT). MyISAM seems to set a limit to the mixinum…
Comment: Why MySQL could be slow with large tables ?
… NOT NULL, PRIMARY KEY (`id`), KEY `bannerid` (`banner_id`), KEY `dateline` (`dateline`), KEY `ip_interval` (`ip_interval`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=1 ROW_FORMAT… NULL, `end` int(11) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `code` (`code`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=91748 ; So the…
Comment: Working with large data sets in MySQL
Right. You can’t use large limits because skipping rows becomes expensive. Also DESC can be slower for MyISAM Tables with key compression you can set PACK_KEYS=0 for this table and check if it helps. Anyway this becomes rather offtopic for this post ![]()
Comment: Using CHAR keys for joins, how much is the overhead ?
… disable packed keys for MyISAM and I assumed this would be majority of the overhead. Did the test right now and we get MyISAM…

