Sybase identity 字段
http://ewoyaofei.blog.163.com/blog/static/343562612010314115446284/
1、identity
Oracle, DB2, pgSQL中都有sequence的概念,这个概念比Identity先进很多,在Sybase中没有Sequence对象,与之相对应的是Identity
2、identity 的创建
identity跟sequence对象完成的功能类似,但是有一定的约束,每个table只能有一个identity的列,列的类型必须是numberic(n,0).
sql 代码
- create table table_name
- (column_name numeric(precision ,0) identity)
3、identity gap的产生:
缺省情况下Sybase Adaptive Server会给identity字段分配一段数字到内存中,在磁盘上记录被分派到内存中的最大的数值,
这样就不用每次插入数据都需要写磁盘来记录当前identity的最大值,而是直接在内存中计算,以提高performance,默认分配到内存的
数值段是identity 字段最大值的 0.05%,这样虽然提高了效率但是如果server fail或者no wait重起,那么内存中的数字段就会丢失,DB Server
会从记录在磁盘上的identity最大值开始计算identity值,就会产生gap,如果按照默认值来计算,server fail 和no wait重起2000次,那么
identity字段就会溢出,必须增加identity字段的长度,其实这期间会有大量的gap
4、要点提示:
a:定义identity时要对数据量有个良好的估计,例如上面的代码中identity的最大值时10的precision次幂-1,对于所有的identity都定义
numberic(18,0)是不合适的,不可能所有的表都有几十万亿的数据量
b:定义identity时要对数据量的增长情况有个良好的估计,合理设置idnetity_gap的值,而不是默认的值
sql 代码
- create table table_name
- (column_name numeric(precision ,0) identity)
- with identity_gap = value
这个value值会覆盖db 默认的是identity 字段最大值的 0.05%这个值。
在Sybase中使用
sp_chgattribute 'TableName', 'identity_gap', gap_value
来更改gap_value为一个合理的值
5、@@IDENTITY
可以使用 select @@IDENTITY 获取 insert 之后的值
Sybase identity 字段相关推荐
- mysql identity sql,SQL Server的Identity字段使用/复制/重设
SQL Server的Identity字段使用/复制/重设 在数据库中, 常用的一个流水编号通常会使用 identity 字段来进行设置, 这种编号的好处是一定不会重复, 而且一定是唯一的, 这对ta ...
- sql server 修改IDENTITY 字段 的统计当前值
一个表数据是从另一服务器同步过来的.现在数据已超过了 3514万条,但插入值时,提示不能插入重复键值 320. 查看表的统计时间,看到是N年前统计的. 手工更新表统计信息: UPDATE STATIS ...
- 错误An entity with the same identity already exists in this EntitySet RIA
错误信息:缺少对象,An entity with the same identity already exists in this EntitySet RIA 解决方案: 1.如果你的表是要更新的,需 ...
- bcp入库oracle,Sybase中的BCP用法实践 与 Oracle的SQLLDR用法实践
关于BCP的用法法,网上有很多资料,但要经过自已的实践来证实才能为已所用,因网上的东东有些是转来转去,会有遗误之处,所以对网上的相关资料要广泛地多多地参考,不能迷信某一家之言,因为IT相关的东东存于着 ...
- 数据库中html数据类型,常用数据库的字段类型及大小
Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 ...
- 数据库mysql表常见字段大小_常用的数据库的字段类型及大小
Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 ...
- 常用的数据库的字段类型及大小
Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最 ...
- Oracle/MSSQL/Mysql 常用数据库的字段类型及大小
Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字 ...
- Identity的知识
在数据库中, 常用的一个流水编号通常会使用 identity 字段来进行设置, 这种编号的好处是一定不会重复, 而且一定是唯一的, 这对table中的唯一值特性很重要, 通常用来做客户编号, 订单编号 ...
最新文章
- 英国工会联盟报告:机器人技术和AI让三分之一的人失业
- 1063. Set Similarity (25)
- Matlab---傅里叶变换---通俗理解(一)
- 因新漏洞问题 Firefox 49发布时间将延期一周
- 内存泄漏的原因及解决办法_编程基础 | C++片段 指针、多态和内存分配
- 跟几个程序员聊了聊他们的每月薪资收入
- Linux文件的复制、删除和移动命
- Flink : exitCode=1 the main method caused an error: could not deploy yarn job cluster
- 力扣-62 不同路径
- VMware Workstation 備份與恢復虛擬機
- SharePoint 网站登录不上,3次输入用户名/密码白页
- 第一次参加本校大学生创新创业训练项目答辩的反思与总结
- 关于数字IC设计中分频后的慢速时钟和以快时钟触发的信号的关系处理
- JAVA 16方格排序游戏
- 格力除了被美的遏制,还面临离职员工的挑战
- RAID区别和特点(全)
- java 辗转相除_Java实现辗转相除法并求取最大公约数、最小公倍数
- win10 LATEX 安装使用 支持前向 后向 (TeX Live 2021+VSCode【不需要额外下载PDF阅览器,不需要跟换任何路径】)
- 寻求泰国居留权的美国投资者数量大增
- golang 实战企业网盘
热门文章
- LeetCode Algorithm 589. N 叉树的前序遍历
- 最近面试一些厂的面经整理(阿里,腾讯,字节等)
- Spreadsheet Tracking
- 大数据互联网架构阶段 前台系统架构 跨域请求
- Exp3 免杀原理与实践 20164309
- 【Tools】Navicat Premium12安装教程
- 【Tools】Linux远程连接工具(PuTTY)
- 【Linux网络编程】因特网的IP协议是不可靠无连接的,那为什么当初不直接把它设计为可靠的?
- ENSP如何开启服务器的http_如何使用HTTP模块在Node.js中创建Web服务器(上)
- 记录安装mysql5.7.24遇到的坑