用于存储分数的数据类型?

时间:2013-05-11 16:09:25

标签: mysql sql sqldatatypes

我有一些值,如3 / 5,90 / 100等。

我必须将这些值存储在数据库的不同列中。

我很困惑为此目的使用哪种数据类型; insertselect操作的速度更快?

3 个答案:

答案 0 :(得分:2)

两个整数;分子和分母。对于提供合理的分数表示的任何数据类型,插入/存储的速度几乎相同。

答案 1 :(得分:1)

这取决于您需要的信息。

如果存储它以进行计算和存储,请计算结果(0.92而不是92/100)并将其存储为decimal(1,5)。但如果你想要显示它,你就不能轻易地向后计算它。

如果它被存储以便稍后显示但永远不会被再次修改(或者至少不会很快),则可以将其存储为varchar,但这会破坏排序。

或者您可以将不同的元素(正面,负面,总计......等等)存储为decimal(5,0)并在使用时显示/计算它。

当然,如果你想在选择时获得计算时间的优势,你可以将上述内容结合起来。

答案 2 :(得分:-1)

由于您希望保持值不变,而不将其存储为DECIMAL,以便以相同的方式将其显示回用户:

使用VARCHAR

相关问题