0

我在 mysql db 中构建了一个列,它将值 - 10000 存储在 中TINYINT,如果我将其更改为 10k VARCHAR,哪一个会更好?

前任。10000、20000、30000.... 或 10k、20k、30k...

4

2 回答 2

3

如果您只是选择值,那么没关系。

但是如果你在 where 条件下使用它,那么使用int. 例子:

select * from your_table
where your_column > 1000

仅当该列是 anint并且您不需要将其转换回数字时才有效。

通常 - 如果它是一个数字 - 将其存储为数字。

于 2013-05-31T01:32:20.940 回答
0

更大的问题是——它会帮助你的项目吗?TINYINT你可以对它进行数学运算。你不能这样做VARCHAR,因为你的数字将是一个字符串。当然,您可以将字符串操作为数字,但这会降低性能以及编写额外代码(这可能会使 SQL 或其他语言不必要地复杂化)。

如果你要让一个值成为一个数字——那么一定要把它变成一个整数。真正聪明的人在字符串和整数之间有所不同是有原因的。

于 2013-05-31T01:47:04.127 回答