在构建用于报告目的的数据集市时(使用维度建模),我应该为小数度量值使用什么数据类型(用于快速操作)?数字、小数还是货币?
发布于 2011-01-17 03:46:16
数字=小数。名称不同,数据类型相同。至于钱,看看Aaron Bertrand做的这个有趣的测试
https://sqlblog.org/2008/04/27/performance-storage-comparisons-money-vs-decimal
长短之处在于,decimal比货币更快(略微),而且更灵活;货币实际上只用于货币,并锁定为4dp。如果您正在建模并且浮点数学是可接受的,请考虑使用float/real的浮点数学,它是CPU上原生的(有浮点寄存器,但没有十进制)。浮点数总是比小数快。
发布于 2011-01-17 03:11:41
Decimal看起来不错,您可以定义所需的精度。
发布于 2011-01-17 03:19:43
如果您想要更快,请使用Single / float。一旦你进入聚合等领域,它们处理十进制的速度就像数学支持的直接操作系统一样快。
但是,您不应该在SQL server中构建用于报告的集市,而应该在SSAS子系统中构建。
https://stackoverflow.com/questions/4707418
复制相似问题