本文目錄一覽:
mysql 默認支持多大的資料庫?我執行1.87G的sql 文件 老報錯!
這個跟操作系統和分區格式有關吧
MySQL 3.22限制的表大小為4GB。由於在MySQL 3.23中使用了MyISAM存儲引擎,最大表尺寸增加到了65536TB(2567 – 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.ibd917107 96K -rw-r—– 1 mysql mysql 96K 3月 18 16:13 t1.ibd
單表空間如何應用到具體的表呢?
有兩種方式:方式 1:在配置文件中開啟。在配置文件中開啟單表空間設置參數 innodb_filer_per_table,這樣默認對當前庫下所有表開啟單表空間。innodb_file_per_table=1另外也可以直接建表時指定單表空間mysql create table t1 (id int, r1 char(36)) tablespace innodb_file_per_table;
Query OK, 0 rows affected (0.04 sec)
單表空間除了解決之前說的系統表空間的幾個缺點外,還有其他的優點,詳細如下:
1. truncate table 操作比其他的任何錶空間都快;
2. 可以把不同的表按照使用場景指定在不同的磁碟目錄;
比如日誌表放在慢點的磁碟,把需要經常隨機讀的表放在 SSD 上等。
mysql 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 的內容,請您使用右上方搜索功能獲取相關信息。
原創文章,作者:ZJDX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145386.html