繁体   English   中英

Mysql TINYINT和VARCHAR性能

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM