我在 mysql db 中构建了一个列,它将值 - 10000 存储在 中TINYINT
,如果我将其更改为 10k VARCHAR
,哪一个会更好?
前任。10000、20000、30000.... 或 10k、20k、30k...
我在 mysql db 中构建了一个列,它将值 - 10000 存储在 中TINYINT
,如果我将其更改为 10k VARCHAR
,哪一个会更好?
前任。10000、20000、30000.... 或 10k、20k、30k...
如果您只是选择值,那么没关系。
但是如果你在 where 条件下使用它,那么使用int
. 例子:
select * from your_table
where your_column > 1000
仅当该列是 anint
并且您不需要将其转换回数字时才有效。
通常 - 如果它是一个数字 - 将其存储为数字。
更大的问题是——它会帮助你的项目吗?TINYINT
你可以对它进行数学运算。你不能这样做VARCHAR
,因为你的数字将是一个字符串。当然,您可以将字符串操作为数字,但这会降低性能以及编写额外代码(这可能会使 SQL 或其他语言不必要地复杂化)。
如果你要让一个值成为一个数字——那么一定要把它变成一个整数。真正聪明的人在字符串和整数之间有所不同是有原因的。