Thinking in Peak
是技术?是信息?还是思想?! 是垃圾?是堆积?还是思想?! Version:1.2
Page layout from PHP& More
 Peak.name

Home | About me | Life history | Mood story | >>Thinking in Peak | My Diary | Photography | Project | Contact me

Neighbor

<< November 20, 2005 - November 26, 2005


Main


Search


Categories
Recent Archives
February 12 - February 18
November 20 - November 26
July 31 - August 06
July 24 - July 30
June 26 - July 02
May 29 - June 04
March 27 - April 02
February 27 - March 05
January 09 - January 15
November 14 - November 20
>>> All archives <<<
Links
24hour online
Charset.org
Peak Jing's home page
Peak正在读看听...

BlogBus.Com
东方网景商务网站
超越PHP

美丽新世纪
wendy's Space
avenger::Blog()
Lemon & YB
Snoopy Home
Donna's Story
ZhaoJMan : My Eye(s)
混混程序员
Raid Cheng's Blog
Boyan.net
一个军人的旅程

IBUZZO, THE SOCIALIST
De Dream
人生攻略
海风乱吹
妖蛊
ByBye

跳舞的小蚂蚁
小三摄影
Momoko World
车东BLOG
LEON也博客
Vol de Nuit
Eosin的什锦糖果盒子
fanroc的凡人生活
1-Game@第1游戏
Tools
Recent Comments
Share bookmarks
Syndicate this site (XML)
Free Guestmap from Bravenet.com

Count :
Powered by MT3.11



February 15, 2006


The table is full(MySQL)

There are several ways a full-table error can occur:

  • You are using a MySQL server older than 3.23 and an in-memory temporary table becomes larger than tmp_table_size bytes. To avoid this problem, you can use the --tmp_table_size=val option to make mysqld increase the temporary table size or use the SQL option SQL_BIG_TABLES before you issue the problematic query. See Section 13.5.3, “SET Syntax”.

    You can also start mysqld with the --big-tables option. This is exactly the same as using SQL_BIG_TABLES for all queries.

    As of MySQL 3.23, this problem should not occur. If an in-memory temporary table becomes larger than tmp_table_size, the server automatically converts it to a disk-based MyISAM table.

  • You are using InnoDB tables and run out of room in the InnoDB tablespace. In this case, the solution is to extend the InnoDB tablespace. See Section 14.2.8, “Adding and Removing InnoDB Data and Log Files”.

  • You are using ISAM or MyISAM tables on an operating system that supports files only up to 2GB in size and you have hit this limit for the data file or index file.

  • You are using a MyISAM table and the space required for the table exceeds what is allowed by the internal pointer size. If you don't specify the MAX_ROWS table option when you create a table, MySQL uses the myisam_data_pointer_size system variable. The default value is 4 bytes, which is enough to allow only 4GB of data. See Section 5.2.2, “Server System Variables”.

    You can check the maximum data/index sizes by using this statement:

    SHOW TABLE STATUS FROM database LIKE 'tbl_name';
    

    You also can use myisamchk -dv /path/to/table-index-file.

    If the pointer size is too small, you can fix the problem by using ALTER TABLE:

    ALTER TABLE tbl_name MAX_ROWS=1000000000 AVG_ROW_LENGTH=nnn;
    

    You have to specify AVG_ROW_LENGTH only for tables with BLOB or TEXT columns; in this case, MySQL can't optimize the space required based only on the number of rows.

原文:A.2.11. The table is full in MySQL 3.23, 4.0, 4.1 Reference Manual

Posted by Peak at February 15, 2006 11:47 PM | Comments (0) | TrackBack (61)

Peak Jing Project

COPYRIGHT © Peak Jing 2003-2005
Powered By
Peak Jing

Valid HTML 4.01!