MySQL数据库满了?

时间:2014-10-19 19:51:18

标签: mysql database

我有一个数据库,其中包含体育赛事的结果。几天前,我意识到结果没有记录下来。我在Ubuntu Linux 64位上使用MySQL 5.6.14。

到目前为止,我已尝试过这些步骤:

  1. 检查我能找到的所有日志。任何日志文件都没有错误。

  2. 最大表的状态:

  3. mysql> show table status like 'results';
    +---------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+
    | Name    | Engine | Version | Row_format | Rows    | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation         | Checksum | Create_options | Comment |
    +---------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+
    | results | InnoDB |      10 | Compact    | 1774207 |            222 |   394149888 |               0 |    218644480 |  28311552 |           NULL | 2014-07-03 21:40:39 | NULL        | NULL       | latin1_swedish_ci |     NULL |                |         |
    +---------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+
    1 row in set (0.00 sec)
    
    1. 最大表的行数:
    2. mysql> select count(*) from results;
      +----------+
      | count(*) |
      +----------+
      |  1763471 |
      +----------+
      1 row in set (0.89 sec)
      
      1. 试图找到我超出但未发现任何限制的任何限制。
      2. 关于我能做什么的任何想法?

1 个答案:

答案 0 :(得分:0)

Mysql具有表文件的最大大小。 你在这里找到它:

Mysql

一个表最多可包含1000列。

InnoDB内部最大密钥长度为3500字节,但MySQL本身将此限制为3072字节。 (对于MySQL 5.0.17之前的非64位构建,以及5.0.15之前的所有构建,为1024字节。)

单列索引的索引键最多可达767个字节。相同的长度限制适用于任何索引键前缀。请参见第13.1.8节“CREATE INDEX语法”。

除了可变长度列(VARBINARY,VARCHAR,BLOB和TEXT)之外,最大行长度略小于数据库页面的一半。也就是说,最大行长度约为8000字节。 LONGBLOB和LONGTEXT列必须小于4GB,并且总行长度(包括BLOB和TEXT列)必须小于4GB。

如果一行长度不到半页,则所有行都存储在页面内。如果它超过半页,则选择可变长度列用于外部页外存储,直到该行适合半页,如第14.2.10.2节“文件空间管理”中所述。

虽然InnoDB在内部支持大于65,535字节的行大小,但MySQL本身对所有列的总大小强加了行大小限制为65,535: