将DENSE_RANK()保存在专用列中

时间:2017-07-03 08:58:35

标签: sql-server tsql

我们有一个应用程序需要基于日期时间项(实际上,自动增量Id主键)创建表中项目的精确顺序。它必须没有空隙,一旦创建,永远不会改变。订单号稍后用作合法标识符(仅作为要求)。 每个分区可能有数千个项目。

问题是什么是更好的做法:

1)每次从DB中检索项目时计算DENSE_RANK()(这意味着计算数千个项目)

OR

2)在项目创建时计算并保存在专用列中?

此外,如果2)是更好的选择,是否有一种方法可以优化计算它,使其从前一个分配了订单号的方法开始,或者在完全分区上始终运行DENSE_RANK()函数更安全? / p>

0 个答案:

没有答案