MySQL的最大與最小
1. 一個表裡最多可有1017列(在MySQL 5.6.9 之前最大支援1000列)。虛擬列也受限這個限制。
2. 一個表最多可以有64個二級索引。
3. 如果innodb_large_prefix開啟,在InnoDB表DYNAMIC或COMPRESSED列格式下,索引字首最大支援前3072位元組;如果不開啟的話,在任意列格式下,最多支援前767位元組。 這個限制既適用於字首索引也適用於全列索引。
4. 基於一個16KB的頁最多裝3072個位元組,如果你把InnoDB 的page 大小從8KB降到4KB,索引的長度也相應的降低。也就是說,當頁是8KB的時候最大索引長度是1536位元組;當頁大小是4KB的時候最大索引長度是768位元組;
5. 聯合索引最多支援16列,如果超過這個限制就會遇到以下錯誤:
ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed
6. 行長度(除去可變長型別:VARBINARY/VARCHAR/BLOB/TEXT),要小於頁長(如4KB, 8KB, 16KB, and 32KB)的一半。
例如:innodb_page_size 長度是16KB的話,行長不超過8KB;如果innodb_page_size 是64KB的話,行長不超過16KB; LONGBLOB/LONGTEXT/BLOB/TEXT列必須小於4GB,整個行長也必須小於4GB。
如果一行小於一頁的一半,它可以存在一個page裡面。如果超過了頁的一半,就會把可變長列放到額外的頁存。
7. 雖然InnoDB內部支援行長大於65,535位元組,但是MySQL限制了所有列的組合長度。 例如:
mysql> CREATE TABLE t (a VARCHAR(8000), b VARCHAR(10000),
-> c VARCHAR(10000), d VARCHAR(10000), e VARCHAR(10000),
-> f VARCHAR(10000), g VARCHAR(10000)) ENGINE=InnoDB;
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change somecolumns to TEXT or BLOBs
8. 在一些老作業系統中,檔案必須小於2GB。這並非是InnoDB本身的限制,如果你需要大的表空間,就要配置使用幾個小的資料檔案而不是一個大的資料檔案。
9. InnoDB日誌檔案組合大小最大可以是512GB。
10. 最小的表空間是10MB,最大的表空間取決於InnoDB頁大小(最大表空間也就是最大表大小)
2. 一個表最多可以有64個二級索引。
3. 如果innodb_large_prefix開啟,在InnoDB表DYNAMIC或COMPRESSED列格式下,索引字首最大支援前3072位元組;如果不開啟的話,在任意列格式下,最多支援前767位元組。 這個限制既適用於字首索引也適用於全列索引。
4. 基於一個16KB的頁最多裝3072個位元組,如果你把InnoDB 的page 大小從8KB降到4KB,索引的長度也相應的降低。也就是說,當頁是8KB的時候最大索引長度是1536位元組;當頁大小是4KB的時候最大索引長度是768位元組;
5. 聯合索引最多支援16列,如果超過這個限制就會遇到以下錯誤:
ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed
6. 行長度(除去可變長型別:VARBINARY/VARCHAR/BLOB/TEXT),要小於頁長(如4KB, 8KB, 16KB, and 32KB)的一半。
例如:innodb_page_size 長度是16KB的話,行長不超過8KB;如果innodb_page_size 是64KB的話,行長不超過16KB; LONGBLOB/LONGTEXT/BLOB/TEXT列必須小於4GB,整個行長也必須小於4GB。
如果一行小於一頁的一半,它可以存在一個page裡面。如果超過了頁的一半,就會把可變長列放到額外的頁存。
7. 雖然InnoDB內部支援行長大於65,535位元組,但是MySQL限制了所有列的組合長度。 例如:
mysql> CREATE TABLE t (a VARCHAR(8000), b VARCHAR(10000),
-> c VARCHAR(10000), d VARCHAR(10000), e VARCHAR(10000),
-> f VARCHAR(10000), g VARCHAR(10000)) ENGINE=InnoDB;
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change somecolumns to TEXT or BLOBs
8. 在一些老作業系統中,檔案必須小於2GB。這並非是InnoDB本身的限制,如果你需要大的表空間,就要配置使用幾個小的資料檔案而不是一個大的資料檔案。
9. InnoDB日誌檔案組合大小最大可以是512GB。
10. 最小的表空間是10MB,最大的表空間取決於InnoDB頁大小(最大表空間也就是最大表大小)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2138807/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++:最小公倍數與最大公約數C++
- 系統最小的服務最小的許可權最大的安全。
- 最大公約數與最小公倍數演算法演算法
- 【高數覆盤】3.5函式的極值與最大最小值函式
- 二叉樹的最大/最小深度二叉樹
- 網路流(最大流,最小割)
- 最大匹配、最小頂點覆蓋、最大獨立集、最小路徑覆蓋(轉)(再轉)
- 網路中最小費用最大流
- 1.1.3.3 最小割之最小權覆蓋集、最大權獨立集
- 二叉樹的最大深度和最小深度二叉樹
- 最大值減不為0的最小值
- lc2528 最大化城市的最小電量
- [20151214]顯示統計分析的最大與最小值
- STL優先佇列最小堆最大堆佇列
- matlab練習程式(最大流/最小割)Matlab
- 最大公約數和最小公倍數
- 偷寶石(最大流轉化最小割)
- Python 查詢字典中最大最小值的keyPython
- JavaScript陣列中的最大值和最小值JavaScript陣列
- int float double 各型別的最大值最小值型別
- 2439. 最小化陣列中的最大值陣列
- JavaScript 陣列最大值和最小值JavaScript陣列
- JavaScript 陣列 最大值和最小值JavaScript陣列
- POJ 3308 Paratroopers 最小割、最大流OOP
- JavaScript陣列最大值和最小值JavaScript陣列
- 【演算法拾遺】最大數和最小數演算法
- iOS生成最大最小數之間隨機數iOS隨機
- float型別最大值和最小值型別
- 2419 求最大值和最小值
- TCP報文的最大負載和報文的最小長度TCP負載
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- C++11獲取double型別的最大最小值C++型別
- MySQL 最小缺失值問題MySql
- 關於二分圖上的最大匹配、最小點覆蓋、最大獨立集以及最大權閉合子圖的聯絡
- 網路流最大流、最小割學習筆記筆記
- New World Wealth:俄羅斯貧富差距最大日本最小
- linux awk sed grep awk 求和平均最大最小Linux
- POJ 2195 Going Home 最小費用最大流Go