WL#796: MyISAM chunked growth to avoid fragmentation
Affects: Server-5.0 — Status: Un-Assigned — Priority: High
Some filesystems do not have good enough possibilities to avoid fragmentation, and so in a setup having many MyISAM tables, which grow very extensive, fragmentation may occur. This can be solved by making MYISAM data/index files to grow in chunks which will reduce fragmentation, also it will minimize a bit OS file handling overhead. It can be implemented as GROWTH_CHUNK=X table option. Note that this is a hard task as REPAIR and CHECK table will be confused about the empty block and this must also be handled. At the same time that the above is done, we should also extend the table at create time up to MIN_ROWS * AVG_ROW_LENGTH. Some DBMSs allow specifying the growth amount with "extents". One can specify the initial extent size, and the growth extent size, at CREATE TABLE time (not ALTER TABLE time). Another syntax is "storage (initial 256k next 256k pctincrease 0)".
Copyright (c) 2000, 2015, Oracle Corporation and/or its affiliates. All rights reserved.