Mysql

ENUM 列的排序規則會影響它們的大小嗎?

  • February 13, 2021

ENUM當我們說 an具有utf8mb4, 與的字元集時,這是什麼意思latin1

我的理解是,它ENUM擁有一個數字索引(1、2、3、4…),用於標識哪些ENUM值(abc、def、ghi、jkl…)。

如果我使用utf8mb4一個ENUM列,該列使用的儲存空間是否比我使用的多latin1

沒有不同。

ENUM儲存為 1 或 2 字節的數字,其中 0 映射到列表中的第一項。您將列作為字元串處理,但磁碟只看到一個數字。

僅當選項超過 255 個時才使用 2 字節。有些人完全避免使用 ENUM;有些人對多個選項不屑一顧。我說將 ENUM 用於一個很小的、不太可能改變的選項列表。

如果您的數據庫和連接規範不一致,可能會出現字元集或排序規則問題。

引用自:https://dba.stackexchange.com/questions/285329