我有一个数据库,其中包含体育赛事的结果 . 几天前,我意识到结果没有记录下来 . 我在Ubuntu Linux 64位上使用MySQL 5.6.14 .
到目前为止,我已尝试过这些步骤:
-
检查我能找到的所有日志 . 任何日志文件中都没有错误 .
-
最大表的状态:
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)
- 最大表的行数:
mysql> select count(*) from results;
+----------+
| count(*) |
+----------+
| 1763471 |
+----------+
1 row in set (0.89 sec)
- 试图找到我超过但没有找到任何限制的任何限制 .
关于我能做什么的任何想法?
1 回答
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: