溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL的最大與最小指的是什么

發(fā)布時間:2021-11-16 13:39:50 來源:億速云 閱讀:220 作者:柒染 欄目:MySQL數(shù)據(jù)庫

MySQL的最大與最小指的是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1. 一個表里最多可有1017列(在MySQL 5.6.9 之前最大支持1000列)。虛擬列也受限這個限制。
2. 一個表最多可以有64個二級索引。
3. 如果innodb_large_prefix打開,在InnoDB表DYNAMIC或COMPRESSED列格式下,索引前綴最大支持前3072字節(jié);如果不打開的話,在任意列格式下,最多支持前767字節(jié)。 這個限制既適用于前綴索引也適用于全列索引。
4. 基于一個16KB的頁最多裝3072個字節(jié),如果你把InnoDB 的page 大小從8KB降到4KB,索引的長度也相應的降低。也就是說,當頁是8KB的時候最大索引長度是1536字節(jié);當頁大小是4KB的時候最大索引長度是768字節(jié);
5. 聯(lián)合索引最多支持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字節(jié),但是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. 在一些老操作系統(tǒng)中,文件必須小于2GB。這并非是InnoDB本身的限制,如果你需要大的表空間,就要配置使用幾個小的數(shù)據(jù)文件而不是一個大的數(shù)據(jù)文件。
9. InnoDB日志文件組合大小最大可以是512GB。
10. 最小的表空間是10MB,最大的表空間取決于InnoDB頁大?。ㄗ畲蟊砜臻g也就是最大表大?。?br/>

關于MySQL的最大與最小指的是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI