gpt4 book ai didi

mysql - 在 mysql 中将十进制值存储为 varchar 好吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:41:40 25 4
gpt4 key购买 nike

我必须存储可以采用十进制格式的用户积分,例如(10.99、0.99 等)。现在我将列字段作为 varchar(100)。

如果我使用 decimal 而不是 varchar 会怎么样。它会提高性能吗??

最佳答案

简短的回答是:不,它会影响性能。

较长的答案:VARCHAR 字段是可变长度的,这意味着数据库 block 的格式无法预先考虑填充在那里的数据的大小。当然,字段有最大长度,但除此之外,你的情况更糟。

另一方面,读取 VARCHAR 然后将其解释为适合浮点类型将花费您。它引入了新的问题可能性。尝试获取所有占“11.99”的小数。希望你带上正确的小数位数,因为在 VARCHAR "11.99"!= "11.990"中。

然后是索引。通常,没有人索引 decimal 字段,但如果您这样做,VARCHAR 字段上的索引将需要更多空间。

总而言之,将某些内容保存在不特定的字段类型中并不是一个好主意。在数据库结构中,通常认为最好的做法是尽可能具体。

关于mysql - 在 mysql 中将十进制值存储为 varchar 好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16022668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com