- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我创建了一个新表和一个新序列,我有两个 C# Web 服务试图使用使用 mySequence.nextval
的相同查询将记录插入到这个表中(是的,我检查了很多次,他们两者都使用 mySequence.nextval
)。
这两个 Web 服务正在向表中插入行,但是 mySequence.nextval
返回的数字顺序乱序
下面是记录的创建方式,显示 PrimaryKey
从 mySequence.nextval
1 21 22 23 2 3 24 25 4 27 28 5
到目前为止没有重复但为什么 mySequence.nextval
来回跳转?我应该担心吗
更新:使用 cache_size = 20 创建序列
最佳答案
我敢打赌您的数据库正在运行 RAC(真正的应用程序集群)。假设是这种情况,并且您使用所有默认设置创建序列,这就是预期的行为。
默认设置是缓存 20 个值。默认情况下,RAC 集群中的每个节点都有一个单独的缓存。假设您有一个包含两个节点 A 和 B 的集群,第一次在 A 上请求 nextval
时,A 将缓存值 1-20 并返回值 1。如果下一个请求nextval
在 B 上创建,B 将缓存值 21-40 并返回值 21。从那里,您获得的值将取决于您的连接恰好在其上运行的节点。
一般来说,这应该不是问题。序列生成唯一的数字。这些数字通常不需要连续。如果你真的需要按顺序返回值,因为你正在做一些事情,比如按序列生成的值排序以确定“第一”或“最后”行,你可以在创建时使用 ORDER
子句强制按顺序返回值的序列。然而,这对 RAC 数据库有负面的性能影响,因为它增加了节点之间需要进行的通信量以同步返回的值。如果您需要确定“第一行”或“最后一行”,通常最好将 date
或 timestamp
列添加到表中并以此排序,而不是假设主键是顺序生成的。
关于c# - Oracle Sequence nextval 是来回跳数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440832/
我正在编写两个程序,一个用 C++ 编写,另一个用 Python 编写,以使用 unix 域套接字相互通信。我想做的是让 C++ 代码向 Python 代码发送一个数字,Python 代码又将另一个数
我希望有一个生成器函数,它返回一条线上的点,给定一个最小距离 k。这很简单,可以使用 numpy 完成,如下所示: points = np.linspace(start, end, k) 但是,我想生
根据我的理解,我们一直在用 Git 做一个非常标准的分支模型的项目,描述如下:http://nvie.com/posts/a-successful-git-branching-model/ 我们从“m
我有一张图片,我想单击它以动画形式旋转 90 度,当它再次单击时我希望它以动画形式旋转 -90 度。 对于使用 css3 变换的旋转 im: -moz-transform:rotate(90deg);
我正在尝试将 拖放 Logo 到 2 个 SVG 圆圈 中。在我的代码的帮助下,图像被拖到一个圆圈中,但没有被拖到另一个圆圈中。 如何修改code这样图像可以在两个圆圈之间拖/放? function
我正在使用 python 3.5.2、pandas 0.18.1 和 sqlite3。 在我的数据库中,我有一个列 unix_time 和 INT 自 1970 年以来的秒数。理想情况下我想从 sql
我已经在我的服务器上安装了 SSL。我的问题是如何通过 acegi 插件在选定的 Controller /页面上强制使用 https。 Acegi 插件支持一个属性 forcehttps,当设置为 t
这是我第一次发布查询。我需要帮助。感谢您的帮助。 我同意我已经把我的概率作为一个长篇故事。但很抱歉,我不知道如何缩短它,我的目的是提供有关我的问题的完整信息。 问题:我必须在 Windows 平台上使
我是一名优秀的程序员,十分优秀!