http://www.sypron.nl/idgaps_txt.html
Why "identity gaps" occur
Identity gaps can occur following a rough server shutdown ("shutdown with nowait") or a crash of the server process. This is related to the algorithm the server uses to generate identity column values: essentially, a counter is kept in server memory, holding the identity value most recently issued. When a new row is inserted, this counter is incremented and the resulting value is assigned to the identity column in that row. While the new data row itself is written to disk, the new value of the in-memory counter is not. Only when the server is shut down in a normal way, this value is saved on disk.
This algorithm makes the identity feature very fast, because no I/O is required to generate a new value. On the other hand, should the value of the in-memory counter be lost, as is the case for a server crash or a "shutdown with nowait", it is not possible to continue at the next identity value, because the last issued value was not saved anywhere. In this case, the server will continue generating identity values starting at some much higher value - which is what creates the identity gap.
Exactly at which higher value the server picks up, is determined by the configuration parameter "identity burning set factor", which, to a certain extent, can be used to limit the maximum possible size of an identity gap. However, because this a server-wide setting, it is not possible to apply this to individual tables.
See the ASE System Administration Guide and Technical Document #20113 at http://www.sybase.com/detail?id=20113 for a detailed description of how to use this configuration parameter.
In view of these underlying technicalities, the risk of running into identity gaps could be seen as the price one has to pay for the high performance offered by the identity column feature. Also, it is clear that this risk cannot be completely excluded. DBA’s should be aware of this, and be prepared to perform recovery procedures.
分享到:
相关推荐
### Set IDENTITY_INSERT 用法详解 在数据库管理与开发过程中,`SET IDENTITY_INSERT` 是一个非常实用的功能,主要用于允许或禁止手动插入带有 `IDENTITY` 属性的字段值。这一特性对于需要进行数据迁移或者特殊场景...
### SQL Server 中 SET IDENTITY_INSERT 的使用方法及注意事项 #### 标题与描述解析 在SQL Server中,`SET IDENTITY_INSERT`是一个重要的命令,它主要用于处理标识列(即自动编号列,通常由`IDENTITY`关键字定义)...
在使用PDFBox 1.3.1版本时,你可能遇到一个常见的问题:当处理含有非ASCII字符的文本时,Identity-H编码可能会导致显示为乱码。Identity-H是一种Unicode编码方式,通常用于处理包含多种语言或特殊字符的PDF文档。...
Sanctuary Identity是一个在前端开发中广泛使用的开源库,它主要设计用于处理和验证与身份相关的数据类型。这个库特别注重在JavaScript环境中的类型安全,同时兼容Fantasy Land的接口标准,这是一个旨在促进函数式...
### Identity用法详解 在数据库管理系统中,`Identity` 是一个非常重要的概念,尤其是在 SQL Server 中,它被广泛应用于自动生成唯一标识符(通常用于主键)。本文将深入探讨 `Identity` 的用法及其相关特性。 ###...
SqlServer 2005 中identity的使用
**MVC5 Identity Dapper-Example** 是一个基于ASP.NET MVC5框架的示例项目,它结合了Identity认证系统和Dapper数据访问层技术。这个项目对于开发者来说,是一个很好的学习资源,可以深入理解如何在实际应用中整合这...
jbpm-identity.jar jbpm-identity.jar
### SQL中的Identity与@@IDENTITY的应用 在SQL中,`Identity`是一个非常实用的功能,它允许用户在插入新行时自动生成唯一的标识符。这一特性广泛应用于主键字段的自动填充,尤其当需要唯一标识每条记录时。本文将...
Tivoli Identity Manager安装配置指南
ASP.NET Identity是一个强大的身份认证框架,它为ASP.NET应用程序提供了用户管理和权限控制的功能。这个框架默认使用SQL Server数据库,但开发者可以根据需求将其自定义为使用MySQL数据库,这就是"ASP.NET Identity ...
Describes how to configure the ASA for the Identity Firewall
"identity用法总结" Identity 是 SQL Server 中的一种标识列类型,可以自动增长,用于为表中的每一行分配唯一的标识号。在实际应用中,Identity 列经常用于主键、外键等场景。但是,在使用 Identity 列时,需要注意...
**Title:** Identity 2.0 和 OpenID **Description:** 虽然描述部分为空,但根据提供的链接,我们可以推测这篇博文可能讨论了Identity 2.0和OpenID这两个在线身份验证的重要概念。 **标签:** "源码" 和 "工具" ...
Oracle Identity Management(IDM)是Oracle公司提供的一套综合性的身份和访问管理解决方案,它包括多种产品组件,用于解决用户身份验证、授权、账号管理、审计等企业级安全需求。安装手册是指导用户如何在计算机...
【Identity层】在深度学习模型中,Identity Layer(恒等层)是一种简单的操作,它将输入数据直接传递到输出,不做任何改变。这种层通常在模型构建中用于保持数据流,尤其是在模型优化、精度转换或者模型部署时。在...
根据给定的文件信息,我们将深入探讨Oracle Identity Management在企业级身份管理中的应用与整合,以及Oracle Internet Directory作为其核心组件的重要角色。 ### Oracle Identity Management:企业级解决方案 ...
"ArcGis右击菜单显示自定义Identity属性窗口"这一主题聚焦于如何利用ArcGIS软件中的功能,自定义右键点击地图要素时出现的Identity属性窗口,以满足特定的工作需求。 首先,我们要理解ArcGIS中的Identity工具。...
在标题中的“eap_identity.rar_EAP_Identity”,我们可以推测这是一个与EAP-Identity相关的源代码压缩包,其中可能包含了实现EAP-Identity协议的关键组件。 EAP-Identity是EAP协议的一种简单但重要的类型,主要用于...