The mysql manual claims that MyISAM is essentially limited only by the
filesystem for how large tables can be.

Yesterday, inserts to one of my tables began failing with error 136
(keyfile full) although the file is only around 17 gigabytes.  There
appears to be some undocumented limitation that falls significantly short
of the 8TB limit advertised for MyISAM tables.

After running myisamchk -r, the keyspace seems to have been compacted by
about 3gb but this is just forestalling my running out of space again:

    # myisamchk -d -v foo

    MyISAM file:         foo
    Record format:       Fixed length
    Character set:       latin1 (8)
    File-version:        1
    Creation time:       2001-05-04 14:57:51
    Recover time:        2001-12-04  3:14:34
    Status:              checked,analyzed,optimized keys
    Data records:            469005858  Deleted blocks:                 0
    Datafile parts:          469005858  Deleted data:                   0
    Datafile pointer (bytes):        4  Keyfile pointer (bytes):        3
    Datafile length:        9849123018  Keyfile length:       14849268736
    Max datafile length:   90194313214  Max keyfile length:   17179868159
    Recordlength:                   21

    table description:
    Key Start Len Index   Type               Rec/key         Root  Blocksize
    1   6     3   multip. uint24                   0   6256517120       1024
        12    4           unsigned long            0
        10    2           unsigned short           0
    2   6     3   multip. uint24                   0  11026118656       1024
        10    2           unsigned short           0
        9     1           binary                   0
    3   2     4   multip. unsigned long            0  14849267712       1024


Shouldn't the keyfile pointer size be at least as large as the datafile
pointer, since multiple indexes are possible (and, I'd wager, typical) for
any given datafile?  I have three non-unique indexes on this table, in
fact.

My main question though, is: how do I fix this?

I'm using MySQL 3.23.44 on Solaris 7; I believe tables were originally
created with 3.23.33.

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to