本文目录一览:
mysql 默认支持多大的数据库?我执行1.87G的sql 文件 老报错!
这个跟操作系统和分区格式有关吧
MySQL 3.22限制的表大小为4GB。由于在MySQL 3.23中使用了MyISAM存储引擎,最大表尺寸增加到了65536TB(2^64 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。
InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间的最大容量为64TB。
在下面的表格中,列出了一些关于操作系统文件大小限制的示例。这仅是初步指南,并不是最终的。要想了解最新信息,请参阅关于操作系统的文档。
操作系统
文件大小限制
- Linux 2.2-Intel 32-bit:2GB (LFS: 4GB)
- Linux 2.4+ (using ext3 filesystem):4TB
- Solaris 9/10:16TB
- NetWare w/NSS filesystem:8TB
- win32 w/ FAT/FAT32:2GB/4GB
- win32 w/ NTFS:2TB(可能更大)
- MacOS X w/ HFS+:2TB
MySQL单表可以多大
单表空间
单表空间不同于系统表空间,每个表空间和表是一一对应的关系,每张表都有自己的表空间。具体在磁盘上表现为后缀为 .ibd
的文件。比如表 t1
,对应的表空间文件为 t1.ibd
。
单表空间如何应用到具体的表呢?
有两种方式:
方式 1:在配置文件中开启。
在配置文件中开启单表空间设置参数 innodb_file_per_table
,这样默认对当前库下所有表开启单表空间。
innodb_file_per_table=1
方式 2:建表时指定单表空间
CREATE TABLE t1 (id INT, r1 CHAR(36)) TABLESPACE innodb_file_per_table;
Query OK, 0 rows affected (0.04 sec) 单表空间除了解决之前说的系统表空间的几个缺点外,还有其他的优点,详细如下:
TRUNCATE TABLE
操作比其他的任何表空间都快;- 可以把不同的表按照使用场景指定在不同的磁盘目录; 比如日志表放在慢点的磁盘,把需要经常随机读的表放在 SSD 上等。
CREATE TABLE ytt_dedicated (id INT) DATA DIRECTORY = '/var/lib/mysql-files';
Query OK, 0 rows affected (0.04 sec)
3. 可以用 OPTIMIZE TABLE
来收缩或者重建经常增删改查的表。一般过程是这样的:建立和原来表一样的表结构和数据文件,把真实数据复制到临时文件,再删掉原始表定义和数据文件,最后把临时文件的名字改为和原始表一样的。
如何修改mysql临时表内存表的大小限制
mysql的内存表的大小在my.cnf文件中有定义,需要通过修改配置来修改临时表的大小限制:
[mysqld]
## 内存表容量
max_heap_table_size=1024M
## 临时表容量
tmp_table_size=1024M
在mysql配置文件的 [mysqld]
节点下,max_heap_table_size
指定的是内存表的最大内存,而 tmp_table_size
指定的是临时表的最大大小。
以上是如何修改mysql临时表内存表的大小限制的内容,更多 临时 大小 内存 限制 修改 如何 MySQL 的内容,请您使用右上方搜索功能获取相关信息。