SQL Server:十进制度量值的数据类型是什么?

时间:2011-01-16 19:04:24

标签: sql-server sql-server-2008 database-design types data-warehouse

在为报告目的构建数据集市时(使用维度建模),我应该将哪些数据类型用于十进制度量值(用于快速操作)?数字,小数或金钱?

3 个答案:

答案 0 :(得分:1)

数字=十进制。不同的名称,相同的数据类型。 至于钱,请参阅Aaron Bertrand所做的有趣测试https://sqlblog.org/2008/04/27/performance-storage-comparisons-money-vs-decimal

长和短是小数比金钱更快(略微)并且更灵活;钱实际上只是用于货币而且锁定为4dp。如果您正在建模并且浮点数学是可以接受的,请考虑使用浮点数/实数的浮点数学,这是CPU本机的(有浮点寄存器,但不是十进制)。浮点数总是比小数点快。

答案 1 :(得分:0)

十进制看起来很好,您可以定义所需的精度。

答案 2 :(得分:0)

如果您想要快速单人/浮动。一旦你进入聚合等等 - 它们以十进制的速度加快,因为它们是数学运算支持的直接操作系统。

但是,您不应该在SQL服务器中构建用于报告的市场,而应该在SSAS子系统中构建。