文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式 Letter) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  InnoDB 儲存引擎  /  InnoDB 限制

17.21 InnoDB 限制

本節說明 InnoDB 資料表、索引、表空間以及 InnoDB 儲存引擎其他方面的限制。

  • 一個資料表最多可以包含 1017 個欄位。虛擬產生欄位也包含在此限制內。

  • 一個資料表最多可以包含 64 個次要索引

  • 對於使用 DYNAMICCOMPRESSED 列格式的 InnoDB 資料表,索引鍵字首長度限制為 3072 個位元組。

    對於使用 REDUNDANTCOMPACT 列格式的 InnoDB 資料表,索引鍵字首長度限制為 767 個位元組。例如,假設字元集為 utf8mb4,且每個字元最多 4 個位元組,則 TEXTVARCHAR 欄位上超過 191 個字元的欄位字首索引可能會達到此限制。

    嘗試使用超過限制的索引鍵字首長度會傳回錯誤。

    如果您在建立 MySQL 執行個體時,透過指定 innodb_page_size 選項,將 InnoDB 頁面大小縮小為 8KB 或 4KB,則索引鍵的最大長度將根據 16KB 頁面大小的 3072 個位元組限制按比例降低。也就是說,當頁面大小為 8KB 時,索引鍵的最大長度為 1536 個位元組,而當頁面大小為 4KB 時,索引鍵的最大長度為 768 個位元組。

    適用於索引鍵字首的限制也適用於完整欄位索引鍵。

  • 多欄索引最多允許 16 個欄位。超出限制會傳回錯誤。

    ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed
  • 最大行大小(不包括任何儲存在頁面外的變長欄)略小於 4KB、8KB、16KB 和 32KB 頁面大小的一半。例如,預設 innodb_page_size 為 16KB 時,最大行大小約為 8000 位元組。但是,對於 64KB 的 InnoDB 頁面大小,最大行大小約為 16000 位元組。LONGBLOBLONGTEXT 欄的大小必須小於 4GB,並且包括 BLOBTEXT 欄在內的總行大小必須小於 4GB。

    如果行長度小於頁面的一半,則所有內容都會在本頁面內儲存。如果超過頁面的一半,則會選擇變長欄進行外部頁面外儲存,直到行適合頁面的一半大小,如第 17.11.2 節「檔案空間管理」中所述。

  • 儘管 InnoDB 內部支援大於 65,535 位元組的行大小,但 MySQL 本身對所有欄的總大小施加了 65,535 的行大小限制。請參閱第 10.4.7 節「表格欄計數和行大小限制」

  • 最大表格或表格空間大小會受到伺服器檔案系統的影響,這可能會施加小於 InnoDB 定義的內部 64 TiB 大小限制的最大檔案大小。例如,Linux 上的 ext4 檔案系統的最大檔案大小為 16 TiB,因此最大表格或表格空間大小會變為 16 TiB 而不是 64 TiB。另一個例子是 FAT32 檔案系統,其最大檔案大小為 4 GB。

    如果需要更大的系統表格空間,請使用多個較小的資料檔案而不是一個大的資料檔案來配置它,或者將表格資料分散到每個表格的檔案和一般表格空間資料檔案中。

  • InnoDB 日誌檔案的組合最大大小為 512GB。

  • 最小表格空間大小略大於 10MB。最大表格空間大小取決於 InnoDB 頁面大小。

    表 17.26 InnoDB 最大表格空間大小

    InnoDB 頁面大小 最大表格空間大小
    4KB 16TB
    8KB 32TB
    16KB 64TB
    32KB 128TB
    64KB 256TB

    最大表格空間大小也是表格的最大大小。

  • 一個 InnoDB 實例最多支援 2^32 (4294967296) 個表格空間,其中少數表格空間保留給復原和暫存表格。

  • 共用表格空間最多支援 2^32 (4294967296) 個表格。

  • 表格空間檔案的路徑(包括檔案名稱)不能超過 Windows 上的 MAX_PATH 限制。在 Windows 10 之前,MAX_PATH 限制為 260 個字元。自 Windows 10 版本 1607 起,MAX_PATH 限制已從常見的 Win32 檔案和目錄函數中移除,但您必須啟用新行為。

  • 有關與並行讀寫交易相關的限制,請參閱第 17.6.6 節「復原日誌」