首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么序列没有像Oracle那样的ORDER参数?

问为什么序列没有像Oracle那样的ORDER参数?
EN

Database Administration用户
提问于 2019-08-02 10:27:54
回答 1查看 796关注 0票数 9

在的文件CREATE SEQUENCE对于中,可以看到CREATE SEQUENCE命令没有ORDER参数。

比较而言,甲骨文文档CREATE SEQUENCE显示了ORDER/NOORDER选项:

ORDER指定ORDER以确保按请求顺序生成序列号。如果您使用序列号作为时间戳,则此子句非常有用。对于用于生成主键的序列来说,保证顺序通常并不重要。如果您将Oracle与真正的应用程序集群一起使用,那么只需要使用ORDER才能保证有序生成。如果使用独占模式,则始终按顺序生成序列号。如果不希望确保按请求顺序生成序列号,则NOORDER指定NOORDER。这是默认的。

Microsoft是否为SEQUENCEs提供了强大的排序约束?还是微软不认为它在总体上是重要的?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-08-02 12:09:41

在Server中,所有序列号都是在单个实例上生成的,因此它们已经固有地进行了排序。如果你只是把它们作为唯一的数字,那就无所谓了。

Oracle实现是不同的,因为在RAC环境中(并非所有Oracle实现),两个序列号可以由两个不同的“实例”生成(这是Oracle的错误术语,但只是SQL Server中的绘图等效)。通常情况下,您不会在意第一个请求的速度是否较慢,并得到了比稍后请求的更高的数字--除非,正如Oracle文档所述,您正在使用序列作为时间戳,以真正反映原始请求的顺序。

票数 12
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/244408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档