您好,登錄后才能下訂單哦!
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頁大小(最大表空間也就是最大表大小)
關于MySQL的最大與最小指的是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。