在的文件CREATE SEQUENCE对于中,可以看到CREATE SEQUENCE命令没有ORDER参数。
比较而言,甲骨文文档CREATE SEQUENCE显示了ORDER/NOORDER选项:
ORDER指定ORDER以确保按请求顺序生成序列号。如果您使用序列号作为时间戳,则此子句非常有用。对于用于生成主键的序列来说,保证顺序通常并不重要。如果您将Oracle与真正的应用程序集群一起使用,那么只需要使用ORDER才能保证有序生成。如果使用独占模式,则始终按顺序生成序列号。如果不希望确保按请求顺序生成序列号,则NOORDER指定NOORDER。这是默认的。
Microsoft是否为SEQUENCEs提供了强大的排序约束?还是微软不认为它在总体上是重要的?
发布于 2019-08-02 12:09:41
在Server中,所有序列号都是在单个实例上生成的,因此它们已经固有地进行了排序。如果你只是把它们作为唯一的数字,那就无所谓了。
Oracle实现是不同的,因为在RAC环境中(并非所有Oracle实现),两个序列号可以由两个不同的“实例”生成(这是Oracle的错误术语,但只是SQL Server中的绘图等效)。通常情况下,您不会在意第一个请求的速度是否较慢,并得到了比稍后请求的更高的数字--除非,正如Oracle文档所述,您正在使用序列作为时间戳,以真正反映原始请求的顺序。
https://dba.stackexchange.com/questions/244408
复制相似问题