Oracle - sequence认识

【Oracle】 Oracle Sequence 性能优化 简单的说,Cache 就是Oracle每次向Sequence进行请求时,分配出的独立数字数量。2. 不论是nocache还是cache , 每次访问nextval的过程都是不可逆的,在同一session中,在执行一系列dml和sequence的操作后,用户执行rollback,希望将操作回滚,但是sequence此时就显得异常顽固,用掉的nextval将无法被重现。在单实例环境没有影响,在RAC环境此时,多实例实际缓存相同的序列,此时在多个实例并发取该序列的时候,会有短暂的资源竞争来在多实例之间进行同步。 阅读详情

一、之前认识

之前对sequence的 cache的理解,是oracle分配的内存,但却始终没明白实质。

 

 

 

 

二、所遇情况

数据表里用到sequence,sequence是这样定义的

 

-- Create sequence 

create sequence TEST

minvalue 10000

maxvalue 9999999

start with 10962

increment by 1

cache 20;

 

 

通过PL/SQL观察看到,TEST sequence显示 next number 显示 10962,

而通过查询TEST sequence的current value 是 10942,

可TEST sequence定义的是 increment by 1,不知道为什么会相差20,

直到今天才真正明白cache的意思。

 

 

 

 

三、最终认识

Cache 参数:

如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。

使用cache或许会跳号,比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。但是nocache 的性能较差。 如果指定cache而没有设定cache值,默认cache是20个。 这个默认值对于大多数情况下都是够用的。 除非那种每秒上万次的select。

 

 

原来next number显示的值,是依据cache来显示的;

而实质应用中,next value 的确是increment by 1 ,所以下次取值时,会是10943;

应用每次取值,next number 同样也会加 1 ,但是始终会和current value保持相差20(cache 里定义的值).

 

序列cache对性能的影响 序列cache对性能的影响,高并发性设计。 立即下载

相关推荐

OTFS从零开始11 10

未来的无线网络有望提供全球覆盖,因此需要支持在恶劣环境下的各种新兴应用,例如飞机上的移动通信(MCA)、低地球轨道(LEO)卫星通信、车对车(V2V)通信、高速铁路(HSR)通信、无人驾驶飞机(UAV)通信和水下声学通信(UAC)。在这些恶劣环境中的无线信道通常被视为对通信不友好,其特点是严重的延迟和多普勒扩散,以及有限的路径寿命等。这些不利于通信的特性使目前移动网络中广泛采用的正交频分复用(OFDM)调制的性能恶化。

qq_46009045的博客 9851

oracle sequence cache 机制

声明   本文转自     http://space.itpub.net/17203031/viewspace-717042   感谢作者的辛苦劳动,谢谢    在Oracle中,我们没有MYSQL和SQL Server可以使用的自增数据类型。大部分场景下,如果我们需要生成业务无关的(Business-Independent)主键列,序列Sequence对象是我们最方便的选择。 ...

weixin_30425949的博客 458

Comsol 超声空化气泡仿真

当液体中受到高能量的超声波作用时,液体中的压力会发生剧烈变化,形成局部的低压区域。当液体中的压力降低到饱和蒸汽压以下时,就会发生空化现象,即液体中形成微小气泡。这种空化常用于一些工业应用,如清洗、乳化、混合等。这种空化常用于一些医学和生物学应用,如碎石术、肿瘤治疗、细胞破碎等。超声空化的应用非常广泛。在医学领域,超声空化广泛应用于诊断和治疗,如超声造影、超声刀、超声碎石术等。在工业领域,超声空化可用于清洗、乳化、混合等工艺。此外,超声空化还在食品加工、化学合成、环境保护等领域有着重要应用。

声学黑洞仿真工作室 2555

Oracle Sequence Cache 参数说明

之前整理的一篇文章:      ORACLE SEQUENCE 介绍 http://blog.youkuaiyun.com/tianlesoftware/archive/2009/10/30/4745039.aspx   之前整理的一篇文章。 那是还是写blog初期的作品。 2009年10月份的。 转眼一年,写Blog 也比以前成熟了很多。   一. 理论知识 先看一个创建Sequence的

专注Oracle EBS---低调的奢华 1万+

强化学习新手上路:用PPO-Clip轻松玩转Pendulum-v1(PyTorch保姆级教程)

本文提供了一份基于PyTorch的PPO-Clip算法实战教程,指导强化学习新手在Pendulum-v1环境中构建连续控制智能体。教程详细解析了PPO-Clip的核心机制,特别是其Clip机制如何限制策略更新幅度以确保训练稳定,并涵盖了从环境配置、策略网络设计、经验收集到完整训练框架搭建的全过程,是掌握连续动作空间强化学习的实用指南。

weixin_29062963的博客 270

告别配置烦恼!保姆级教程:在Windows 10/11上为QT5.14.2配置MSVC2017编译器(附VS2022组件避坑指南)

本文提供了一份详细的保姆级教程,指导如何在Windows 10/11上为QT5.14.2配置MSVC2017编译器,包括VS2022组件避坑指南。从环境准备到关键配置,再到调试工具验证和Qt Creator中的编译器设置,一步步解决常见问题,帮助开发者快速搭建稳定可靠的开发环境。

weixin_30615767的博客 502

Oracle SEQUENCE — cache 的用处

创建自增序列的函数 CREATE SEQUENCE USER_CERTIFICATION_SEQ   INCREMENT BY 1   -- 每次加几个   START WITH 1       -- 从1开始计数   NOMAXVALUE        -- 不设置最大值   NOCYCLE               -- 一直累加,不循环   CACHE 10 缓存序列值

QC班长的博客 2507

MT5交易软件系统源码

Manager配置的功能及权限:管理客户、开户,销户、入金、信用额度、修改定单、人工交易报表、设定点差、强制平仓、修改密码,设定持仓交割单或挂单小止盈止损点数;26、修改价格 27、更改K线图历史价格 28、同步历史数据;2、系统设置 3、交易管理 4、交易柜台 5、价格更改 6、多台服。务器联机 7、恢复交易历史 8、数据源调整 9、备份服务调整 10、交易市场设定 11、交易单更改 12、平台时间设定(全世界) 13、可添加商品;15、设置商品利息;独立主机(服务器、VPS、VM)

tutujunjun的博客 904

Oracle序列sequence cache nocache、RAC

一、问题描述:新增了个表,上了生产环境之后,发现ID跳号且穿插,如图1所示。 而测试环境只是跳号,如图2所示。 图1 生产环境 图2 ...

开着奥迪卖小猪 4543

国产PLC实战:用汇川Easy320搞定TCP通信,手把手教你网口转串口控制设备

本文详细解析了如何使用汇川Easy320 PLC实现TCP通信与串口控制,解决工业自动化中设备间通信协议差异问题。通过实战案例和代码示例,展示了Easy320在协议转换、数据解析和串口转发中的高效应用,帮助工程师快速掌握网口转串口控制技术。

weixin_31774841的博客 499

多agv系统调度的MATLAB仿真

从起点出发,到货物点领取货物最后到卸货点,以完成任务总时间最短为目标进行单目标优化,约束条件为,任务不冲突,路径不冲突,要能实现路径规避 ,4-6台agv一起工作。左右货架间隔可通过1个agv,上下货架间隔可通过两个agv,通道为双向行驶通道。一台agv只能带一个货物,优化目标为完成任务总的时间最短,agv的速度是匀速,转弯也不会减速,取货物时间为固定值。上面的图里面货物看为正方形跟agv一样的长度大小,agv试做是跟货物一样大小的正方形agv的速度是每秒1个车身。多台agv一起完成...

FPGA/MATLAB学习教程/源码/项目合作开发 7563

oracle sequence 增加,详解ORACLE SEQUENCE用法

在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。1、Create Sequence首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。创建语句如下:CREATE SEQUENCE seqTestINCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXvalue -- 不设...

weixin_28886649的博客 1234

华为OD技术面八股文_C++_02

汇总华为OD面试C++方面计数八股文真题,提供详细解答。

qq_45776114的博客 765

oracle sequence 赋值,详解ORACLE SEQUENCE用法

在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。1、Create Sequence首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。创建语句如下:sql;">CREATE SEQUENCE seqTestINCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXva...

weixin_26850069的博客 872

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ORACLE SEQUENCE用法

在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。 1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下: CREATE SEQUENCE seqTest INCREMENT BY 1 -- 每次加几个 STA...

anyi5187的博客 183

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Oracle中的sequence

<br />      来源:http://baike.baidu.com/view/71967.htm<br /><br />      Sequence是数据库系统按照一定规则自动增加的数字序列。这个序列一般作为代理主键(因为不会重复),没有其他任何意义。 <br />  Sequence是数据库系统的特性,有的数据库有Sequence,有的没有。比如Oracle、DB2、PostgreSQL数据库有Sequence,MySQL、SQL Server、Sybase等数据库没有Sequence。 <br

heqiyu34的专栏 1784

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Oracle中Sequence使用

Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方. 下面介绍一下关于sequence 的生成,修改,删除等常用的操作: 1. 创建 Sequence 使用如下命令新建sequence(用户需要有CREATE SEQUENCE 或者CREATE ANY SEQUENCE权限): CREATE SEQUENCE t...

abc12345670899的博客 3320

Oracle的分页以及sequence

分页sql:(转自http://zjhh.bokee.com/4981250.html)方案1: select ID2 from ( select ID2 , rownum as rown from ( select ID2 from Test2 order by ID2 ) where rownum <= 8...

ailouzhang0984的博客 272

oracle 序列缓存的作用,详解ORACLE SEQUENCE用法

在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。1、Create Sequence首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。创建语句如下:CREATE SEQUENCE seqTestINCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXvalue -- 不设...

weixin_30905655的博客 2085

ORACLE SEQUENCE

sequence的概念及作用sequence是用来在多用户环境下产生唯一整数的数据库对象。序列产生器顺序生成数字,它可用于自动生成主键值,并能协调多行或者多表的主键操作。没有sequence,顺序的值只能靠编写程序来生成。先找出最近产生的值然后自增长。这种方法要求一个事务级别的锁,这将导致在多用户并发操作的环境下,必须有人等待下一个主键值的产生。而且此方法很容易产生主键冲突的错误,如下图:ti

oracle 数据库优化-松森科技 3853

Oracle 查看sequence

        如查看名为“T_BPM_TASK_OPERATION_SEQ”的sequence: select * from user_sequences where sequence_name=T_BPM_TASK_OPERATION_SEQ 所有建立的sequence 存放user_sequences中,属性有:SEQUENCE_NAME         MIN_VALU

wangyue08的专栏 5573

oracle复制sequence,Oracle中sequence的使用方法

Oracle中sequence的使用方法在Oracle数据库中,sequence等同于序列号,每次取的时候sequence会自动增加,一般会作用于需要按序列号排序的地方。1、Create Sequence(注释:你需要有CREATE SEQUENCE或CREATE ANY SEQUENCE权限)CREATE SEQUENCE emp_sequenceINCREMENT BY 1 —— 每次加几个S...

weixin_42515295的博客 452

oracle导seq_oracle sequence的用法

在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。1、Create Sequence首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。创建语句如下:CREATESEQUENCE seqTestINCREMENTBY1--每次加几个STARTWITH1--从1开始计数NOMAXvalue--不设...

weixin_39621060的博客 133
上一篇: oracle10g 一个表里可添加的最大字段数
下一篇: Oracle ORA-00257: archiver error. Connect internal only, until freed
Ling_Hun
博客等级 码龄17年 13粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值