【发布时间】:2013-05-29 04:15:09
【问题描述】:
我正在开发一个访问 Sybase ASE 15.0.2 的应用程序,当前代码访问远程数据库 (CIS) 使用代理表定义插入行(目标表是 DOL - DRL 表 - PK 行被定义为身份,并且一直在增长)。当前代码执行选择以检查该行是否 已经存在以避免插入重复数据。
由于远程表上也有 PK 定义,我知道 PK 验证将 在提交行之前再次完成。 我计划删除选择检查,因为它通过 PK 验证再次有效地完成, 但我担心在收到包含许多重复文件的文件时,表格可能会受到影响 尝试提交数据时发生一些不必要的争用。
我不清楚 Sybase ASE 是否尝试保留最后一行并在检查数据之前写入数据 复制。另外,如果桌子很大,我也担心它会花多少时间看 整个索引来查找重复项。
我在任何地方都找到了一些 SQL 文档,但在以下链接中没有找到 ASE http://dcx.sybase.com/1200/en/dbusage/insert-how-transact.html
我能找到的最好的是以下解释
https://groups.google.com/forum/?fromgroups#!topic/comp.databases.sybase/tHnOqptD7X8
但它并没有详细说明行是如何锁定的(如果有任何类型的 优化提前写或者PK检查同时写) ,如果我积极地插入一个 PK 的行,是否会浪费一个完整的 PK 外观 正大于提交的最后一行
谢谢
亚历克斯
【问题讨论】:
标签: insert locking sybase identity sap-ase