在为报告目的构建数据集市时(使用维度建模),我应该将哪些数据类型用于十进制度量值(用于快速操作)?数字,小数或金钱?
答案 0 :(得分:1)
数字=十进制。不同的名称,相同的数据类型。 至于钱,请参阅Aaron Bertrand所做的有趣测试https://sqlblog.org/2008/04/27/performance-storage-comparisons-money-vs-decimal
长和短是小数比金钱更快(略微)并且更灵活;钱实际上只是用于货币而且锁定为4dp。如果您正在建模并且浮点数学是可以接受的,请考虑使用浮点数/实数的浮点数学,这是CPU本机的(有浮点寄存器,但不是十进制)。浮点数总是比小数点快。
答案 1 :(得分:0)
十进制看起来很好,您可以定义所需的精度。
答案 2 :(得分:0)
如果您想要快速单人/浮动。一旦你进入聚合等等 - 它们以十进制的速度加快,因为它们是数学运算支持的直接操作系统。
但是,您不应该在SQL服务器中构建用于报告的市场,而应该在SSAS子系统中构建。