我有一些值,如3 / 5,90 / 100等。
我必须将这些值存储在数据库的不同列中。
我很困惑为此目的使用哪种数据类型; insert
和select
操作的速度更快?
答案 0 :(得分:2)
两个整数;分子和分母。对于提供合理的分数表示的任何数据类型,插入/存储的速度几乎相同。
答案 1 :(得分:1)
这取决于您需要的信息。
如果存储它以进行计算和存储,请计算结果(0.92
而不是92/100
)并将其存储为decimal(1,5)
。但如果你想要显示它,你就不能轻易地向后计算它。
如果它被存储以便稍后显示但永远不会被再次修改(或者至少不会很快),则可以将其存储为varchar
,但这会破坏排序。
或者您可以将不同的元素(正面,负面,总计......等等)存储为decimal(5,0)
并在使用时显示/计算它。
当然,如果你想在选择时获得计算时间的优势,你可以将上述内容结合起来。
答案 2 :(得分:-1)
由于您希望保持值不变,而不将其存储为DECIMAL
,以便以相同的方式将其显示回用户:
使用VARCHAR
。