[英]Mysql TINYINT & VARCHAR performance
我在mysql db中建立了一个列,它在TINYINT
存储值TINYINT
,如果我将其更改为10k VARCHAR
会更好呢?
例如 10000,20000,30000 ....或10k,20k,30k ...
如果您只是选择该值,那就没关系。
但是,如果您在where条件下使用它,那么使用int
可以提高性能。 例:
select * from your_table
where your_column > 1000
仅当int
且您无需将其转换回数字时才有效。
通常,如果是数字,则将其存储为数字。
更大的问题是-对您的项目有帮助吗? 借助TINYINT
您可以对其执行数学运算。 您不能使用VARCHAR
,因为您的数字将是一个字符串。 当然,您可以将字符串处理成一个数字,但这会降低性能,并增加额外的代码(这可能会使SQL或其他语言不必要地复杂化)。
如果您要将值设为数字-则务必将其设为整数 。 有一个非常聪明的人在string和int之间有所作为的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.