gpt4 book ai didi

oracle - oracle中为什么要按顺序使用缓存和顺序?

转载 作者:行者123 更新时间:2023-12-02 19:53:33 26 4
gpt4 key购买 nike

我是数据库新手。我一直在阅读有关oracle中的序列的内容。我开始按顺序了解顺序条款。我应该引用该段落

Specify ORDER to guarantee that sequence numbers are generated in order of request. This clause is useful if you are using the sequence numbers as timestamps. Guaranteeing order is usually not important for sequences used to generate primary keys.

ORDER is necessary only to guarantee ordered generation if you are using Oracle Database with Real Application Clusters. If you are using exclusive mode, sequence numbers are always generated in order

我对此一无所知。该网站的链接是 a link !有人可以帮我吗?如有语法错误,敬请谅解

最佳答案

ORDER 顺序子句仅在 RAC 中有意义。

无论哪个实例收到请求,它都保证按顺序生成序列。

如果您不使用 ORDER 来说明,请假设使用 cache=20 定义的序列。实例 1 在其缓存中具有序列值 1 到 20。实例 2 在其缓存中具有序列值 21 到 40。通常,并发 session 可能按以下顺序生成序列值:1、2、21、3、22、4、23 和 24。但是使用 ORDER 子句时,该值将为 1,2,3, 4,5,6,7,..

因此,文档中提到,如果序列的目的是生成唯一值,则不需要ORDER,但如果在RAC中使用序列来定义时间顺序,则需要ORDER

Cache:如果指定Cache in order为20,那么oracle会取20个值一堆,放到SGA中,数据字典更新一次。因此,如果您想使用 35 个序列值,那么数据字典只需更新 2 次,在 NO CACHE 的情况下,可以提高数据字典中 35 个更新的性能。缓存用于提高序列的性能。而且在数据库关闭时,您将丢失未使用的缓冲序列值。

希望,它会有用。

干杯!!

关于oracle - oracle中为什么要按顺序使用缓存和顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57620096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com