我们有一个应用程序需要基于日期时间项(实际上,自动增量Id主键)创建表中项目的精确顺序。它必须没有空隙,一旦创建,永远不会改变。订单号稍后用作合法标识符(仅作为要求)。 每个分区可能有数千个项目。
问题是什么是更好的做法:
1)每次从DB中检索项目时计算DENSE_RANK()(这意味着计算数千个项目)
OR
2)在项目创建时计算并保存在专用列中?
此外,如果2)是更好的选择,是否有一种方法可以优化计算它,使其从前一个分配了订单号的方法开始,或者在完全分区上始终运行DENSE_RANK()函数更安全? / p>