MySQL如何存储枚举?

Gre*_*reg 17 mysql enums types

如果我有这样的表格:

CREATE TABLE sizes (
    name ENUM('small', 'medium', 'large')
);
Run Code Online (Sandbox Code Playgroud)

MySQL是否会将这些字符串存储在每一行中,或者内部是否会使用较小的整数来表示要引用的枚举值?

我想在表格中使用枚举,但我担心它是否像在每行中存储字符串一样浪费.

Gre*_*reg 25

它将它们转换为INSERT/UPDATE上的整数并返回到SELECT上的字符串,这样内部存储就像整数一样,但是你不会暴露给它.

你可以检索整数SELECT mycolumn + 0.

请参阅MySQL 5中的ENUM