我有一些数值,如3/5、90/100等。
我需要将这些值存储在数据库的不同列中。
我不确定应该使用哪种数据类型来实现此目的;哪种类型对于insert
和select
操作更快?
我有一些数值,如3/5、90/100等。
我需要将这些值存储在数据库的不同列中。
我不确定应该使用哪种数据类型来实现此目的;哪种类型对于insert
和select
操作更快?
两个整数;分子和分母。对于任何提供合理分数表示的数据类型,插入/存储速度基本相同。
这取决于您需要信息的用途。
如果它是为了计算和存储而存储的,计算结果(0.92
而不是92/100
),并将其作为decimal(1,5)
存储。但是,如果您想要显示它,则不能轻松地进行反向计算。
如果它是为了以后显示而存储的,但永远不会再次修改(或至少不快),则可以将其存储为varchar
,但这会破坏排序。
或者,您可以将不同的元素(正数、负数、总数等)作为decimal(5,0)
存储,并在使用时显示/计算它。
当然,如果您想在选择时获得计算时间的优势,也可以将上述方法结合起来使用。
既然您想保持值不变,而又不将其存储为DECIMAL
,以便以相同方式显示给用户:
请使用VARCHAR
。
VARCHAR
中将保留与INSERT
时完全相同的格式。 - Danny Beckett