• oracle的序列号(sequence)


    Oracle的自增列,要采用序列号(sequence)。

    初始化阶段要手动建立一个sequence,然后插入的时候,还要手动自己去读这个sequence的nextval赋给相关字段,如ID,麻烦的很。好处就是记录插入前,我们就知道这个ID值了,在处理主从表时,有时还比较方便。但这个对sql server来说,也不是问题,可以获得的。

    oracle这个序列号,还有个高速缓存这么个东东,默认是一次性生成20个,没用完可能就丢了,可能造成ID不连贯。更有甚者,有时可能会引起误解。

    好比说,我有个存储过程,里面用到了序列号。

    然后这个存储过程,既可以手动执行,也可以托付给作业(JOB)执行。因为有高速缓存,作业都是先拿了20个,按照自己的节奏去插入;如果还记录时间戳的话,你会发现,怎么有些ID值小的,其执行时间却是最新的?原因即在此,ID与印象中的顺序不符合。

    这样的话,ID就失去时间关联的参照属性了,还干脆使用GUID来做主键好了。GUID的话,表跨数据库都可以啊。但SQL SERVER中,好像就没有这个问题。

    http://www.woaipu.com/shops/zuzhuan/61406
    http://nanning.xjwy.cn/f/bencandy.php?fid=43&id=117777
    http://nanning.xjwy.cn/f/bencandy.php?fid=43&id=117890
    http://nanning.xjwy.cn/f/bencandy.php?fid=43&id=117994
    http://nanning.xjwy.cn/f/bencandy.php?fid=43&id=118376

  • 相关阅读:
    js 抓取距离的方法
    mysql 设置账户权限
    mysql 主从复制
    mysql 分区
    linux 安装samba
    linux 配置lamp
    linux 本地虚拟机配置
    linux 权限
    linux 磁盘分区
    mysql-进阶 if/while/case
  • 原文地址:https://www.cnblogs.com/sy646et/p/7203384.html
Copyright © 2020-2023  润新知