Results 1 to 5 of 5
  1. #1
    Join Date
    Jun 2003
    Posts
    2

    Unanswered: Maximum Index File Size

    I'm running into the problem documented here: http://dbforums.com/arch/156/2002/6/397147, but they doesn't seem to be mention any solution to the issue. Does anyone have any suggestions?

    Running MySQL Distrib 3.23.54, for Win95/Win98 on i32. This is where I see the error:

    E:\mysql\data\test>myisamchk -O key_buffer=512M -O sort_buffer=512M -O read_buffer=64M -O write_buffer=64M -r -S -a rsecpossqs
    - recovering (with keycache) MyISAM-table 'rsecpossqs.MYI'
    Data records: 54822847
    myisamchk: warning: Can't change size of indexfile, error: 22
    myisamchk: error: 22 for record at pos 4294967232
    MyISAM-table 'rsecpossqs' is not fixed because of errors
    Try fixing it by using the --safe-recover (-o) or the --force (-f) option

    And this is about 4 hours after starting the command; right after myisamchk runs through counting up the rows.

    The table is the standard size, no adjustments have been made to the AVG_ROW_LENGTH and MAX_ROWS yet. File sizes are:

    4,294,967,268 rsecpossqs.MYD
    4,383,221,760 rsecpossqs.MYI

    at the moment. Should be cut in half after the optimize because of deletes. Will be looking at merge tables later, but I need this working in the mean-time.

    Output from myisamchk -dv rsecpossqs.myi

    Code:
    MyISAM file:         rsecpossqs.myi
    Record format:       Packed
    Character set:       latin1 (8)
    File-version:        1
    Creation time:       2002-10-18 22:39:44
    Recover time:        2002-10-19 23:38:27
    Status:              changed
    Data records:             54822847  Deleted blocks:          40358029
    Datafile parts:           95419877  Deleted data:          1772432408
    Datafile pointer (bytes):        4  Keyfile pointer (bytes):        4
    Datafile length:        4294967268  Keyfile length:        4383221760
    Max datafile length:    4294967294  Max keyfile length: 4398046510079
    Recordlength:                  101
    
    table description:
    Key Start Len Index   Type                     Rec/key         Root  Blocksize
    1   2     4   multip. long                           0   1628417024       1024
    2   99    3   multip. uint24                         0   2517115904       1024
    3   95    4   multip. long                           0   2130399232       1024
    4   31    64  multip. char packed stripped           0   1526540288       1024
    5   14    16  multip. char packed stripped           0   1576935424       1024
    Thanx for any input,
    Johnny Elliott

  2. #2
    Join Date
    Jan 2003
    Location
    Paris, France
    Posts
    320
    Index and table size in myisam table depend on the OS maximun file size. On windows the maximum size is 4 GO.
    So you need to change your plateforme (for solaris, for ex) or use innodb table.
    Olivier Miossec
    --
    http://www.lasso-developpeur.net/
    --

  3. #3
    Join Date
    Jun 2003
    Posts
    2
    You may be thinking about FAT32, which is limited to 4GB, but we are using NTFS, which Microsoft states 2^64-1 as the maximum file size.

    http://msdn.microsoft.com/library/de...le_systems.asp

    And if that was the case, we already have a problem; the file size limit would be 4,294,967,296 and our index file is 4,383,221,760. It already exceeds the maximum file size.
    Last edited by BlackNova; 06-28-03 at 10:45.

  4. #4
    Join Date
    Oct 2003
    Location
    Taiwan
    Posts
    16
    Originally posted by BlackNova
    You may be thinking about FAT32, which is limited to 4GB, but we are using NTFS, which Microsoft states 2^64-1 as the maximum file size.

    http://msdn.microsoft.com/library/de...le_systems.asp

    And if that was the case, we already have a problem; the file size limit would be 4,294,967,296 and our index file is 4,383,221,760. It already exceeds the maximum file size.
    I saw your last post. You said that your MySQL 3.23 is running on windows95/98 i32 type. So... It maybe because of the FAT32 file system, right?
    My English is poor, so... please forgive me if I make mistakes.

  5. #5
    Join Date
    Nov 2003
    Posts
    91
    Originally posted by BlackNova
    You may be thinking about FAT32, which is limited to 4GB, but we are using NTFS, which Microsoft states 2^64-1 as the maximum file size.

    http://msdn.microsoft.com/library/de...le_systems.asp

    And if that was the case, we already have a problem; the file size limit would be 4,294,967,296 and our index file is 4,383,221,760. It already exceeds the maximum file size.
    Fact checker here. Your 4,294,967,296 number is equal to
    2^32, not 2^64.
    2^64 is about 1.8E19. You are no where near this limit.
    This is equivalent to about 137 billion hard drives that each
    hold 120MB.
    Since you are having problems whenever a file gets to be about
    2^32 bytes long that probably means a 32-bit
    pointer snuck into (MySQL) code where 64-bit pointers should
    have been used.
    We had the same 4-GB problem with Oracle on a SCO box a couple
    of years ago. To fix that not only did we have to patch
    SCO to use 64-bit pointers, we had to upgrade to the
    latest version of Oracle. Win 2k should be able to handle
    large file sizes, so that leaves MySQL as the culprit.
    Not that that helps you.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •