你知道哪种表结构更好吗:
table user
id INT pk autoincrement
name VARCHAR(255)
email VARCHAR(255)
statut TINYINT(4)
statut 只能保持 2 个状态:1/2
或
table user
id INT pk autoincrement
name VARCHAR(255)
email VARCHAR(255)
statut VARCHAR(45)
statut 只能保持 2 种状态:活跃/不活跃
我正在寻找最快的方法来执行 select 语句,例如
SELECT id, name, email
FROM user
WHERE statut=:statut
我在某处读到“整数”类型通常处理得更快
比“文本”类型
但出于其他一些原因,我更愿意存储状态
使用 VARCHAR
类型。
有没有一种方法可以使用 VARCHAR
类型的 statut 并且它运行得更快?
或者第一个结构绝对是最快的?
最佳答案
如果您绝对确定只需要在该列中存储 2 个值,则可以使用 ENUM
。将文本的用户友好性与整数的性能和空间效率相结合。
关于mysql - 基本性能比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4030778/