6

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

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

我对为此目的使用哪种数据类型感到困惑;insert和操作哪个更快select

4

3 回答 3

5

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

于 2013-05-12T03:09:08.540 回答
1

这取决于您需要这些信息的目的。

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

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

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

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

于 2013-05-11T16:28:57.203 回答
0

由于您希望保持值相同,而不是将其存储为 a DECIMAL,因此它可以以相同的方式显示给用户:

使用VARCHAR.

于 2013-05-12T03:03:33.397 回答