mysql如何設置單表大小

mysql設置單表大小的方法:1、創(chuàng)建表時的修改方法;2、修改已存在表的方法,代碼為【ALTER TABLE tbl_name MAX_ROWS=1000000000 AVG_ROW_LENGTH=15000】。

mysql如何設置單表大小

mysql設置單表大小的方法:

一、MySQL數(shù)據(jù)庫的MyISAM存儲 引擎單表大小限制已經(jīng)不是有MySQL數(shù)據(jù)庫本身來決定(限制擴大到64pb),而是由所在主機的OS上面的文件系統(tǒng)來決定了。

在mysql5.0版本之前,myisam存儲引擎默認表的大小4Gb,可以用一下命令來查看:

[root@robert?test]#?cd?/data/mysql/mysql_3306/data/test [root@robert?test]#?myisamchk?-dv?t2 MyISAM?file:?t2 Record?format:?Fixed?length Character?set:?latin1_swedish_ci?(8) File-version:?1 Creation?time:?2014-12-29?14:13:17 Status:?checked,analyzed,optimized?keys,sorted?index?pages Data?records:?0?Deleted?blocks:?0 Datafile?parts:?0?Deleted?data:?0 Datafile?pointer?(bytes):?6?Keyfile?pointer?(bytes):?3 Datafile?length:?0?Keyfile?length:?1024 Max?datafile?length:?3096224743817214?Max?keyfile?length:?17179868159 Recordlength:?11 table?description: Key?Start?Len?Index?Type?Rec/key?Root?Blocksize
  • Datafile length:當前數(shù)據(jù)文件的大小

  • Keyfile length:索引文件的大小

  • Max datafile length: 最大數(shù)據(jù)文件的大小

  • Max keyfile length:最大索引文件的大小

如果需要使用大于4GB的MyISAM表(而且你的操作系統(tǒng)支持大文件),可使用允許AVG_ROW_LENGTH和MAX_ROWS選項的CREATE TABLE語句。創(chuàng)建了表后,也可以使用ALTER TABLE更改這些選項,以增加表的最大允許容量。

創(chuàng)建表時的修改方法

CREATE?TABLE?tbl_name?( a?INTEGER?NOT?NULL?PRIMARY?KEY, b?CHAR(18)?NOT?NULL )?MAX_ROWS?=?1000000000?AVG_ROW_LENGTH?=?32;

修改已存在表的方法

ALTER?TABLE?tbl_name?MAX_ROWS=1000000000?AVG_ROW_LENGTH=15000;

二:Innodb存儲引擎分為兩種的,一種是共享表空間存儲方式,還有一種是獨享表空間存儲方式。

1)共享表空間存儲方式的時候,Innodb的所有數(shù)據(jù)保存在一個單獨的表空間里面(但是每個表都有一個.frm表結構文件),而這個表空間可以由很多個文件組成,一個表可以跨多個文件存在,所 以其大小限制不再是文件大小的限制,而是其自身的限制。

從Innodb的官方文檔中可以看到,其表空間的最大限制為64TB,也就是說,Innodb的單 表限制基本上也在64TB左右了,當然這個大小是包括這個表的所有索引等其他相關數(shù)據(jù)。

2)獨享表空間來存放Innodb的表的時候,每個表的數(shù)據(jù)以一個單獨的文件來存放,這個時候的單表限制,又變成文件系統(tǒng)的大小限制了。

操作系統(tǒng) 大小限制

win32?w/?FAT/FAT32?2GB/4GB win32?w/?NTFS?2TB(可能更大) Linux?2.2-Intel?32-bit?2GB?(LFS:?4GB) Linux?2.4+?4TB(ext3) Solaris?9/10?16TB NetWare?w/NSS?filesystem?8TB MacOS?X?w/?HFS+?2TB

更多相關免費學習推薦:mysql教程(視頻)

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享