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 之后的值

原文地址

最新文章

  1. Atitit usrQBF2312 命名空间pkg 以及 api命名 spec规范
  2. Javascript中最常用的55个经典技巧(转)
  3. 使用recon/domains-hosts/baidu_site模块,枚举baidu网站的子域
  4. 使用supervisor提高nodejs调试效率 (已验证)
  5. Linux环境下配置eclipse,以及创建maven工程
  6. android 项目学习随笔六(网络缓存)
  7. Java如何将控制台上的结果保存到文件
  8. Android FM模块学习之二 FM搜索频道
  9. com学习(五)——实现多接口
  10. C# 32位md5
  11. POJ 1330 Nearest Common Ancestors(LCA模板)
  12. java中基于TaskEngine类封装实现定时任务
  13. AngularJS进入使用前的准备工作
  14. No principal was found in the response from the CAS server
  15. Linq中的Select与Select many
  16. Shell-find . -type f -name "*.php" -print0 | xargs -0 wc -l
  17. mysql字符类型大小写敏感的讨论
  18. 在windows下搭建vueJS开发环境
  19. POJ 2407 Relatives(欧拉函数入门题)
  20. ELK+Kafka学习笔记之搭建ELK+Kafka日志收集系统集群

热门文章

  1. SQL基础-----DML语句
  2. NGUI---使用脚本控制聊天系统的内容显示,输入事件交互
  3. requests之一:HTTP OAUTH认证(1)图形解释流程
  4. Java四种线程池的学习与总结
  5. .NET CORE 2.0之 依赖注入在类中获取IHostingEnvironment,HttpContext
  6. 一.Kylin的伪分布式安装
  7. Javasript设计模式之链式调用
  8. [NOIp 2017]逛公园
  9. 洛谷4月月赛R1
  10. HDU 1729