关于COUNT STOPKEY的工作机制
在查询中有时使用到伪列rownum对使用伪列rownum的查询,优化器要么使用count操作,要么使用count stopkey操作来对rownum计数器进行增量(注意:这里的count操作和count stopkey操作与count函数没有任何关系),如果对rownum伪列应用一个限定条件,如:where rownum<10;则使用 count stopkey操作,如果不为Rownum伪列指定限定条件,则是使用count操作。
例1:不在Rownum伪列上使用限定条件
select id,rownum from employee;(在id列上有一个主键索引)为了完成这个查询,优化器执行一个全索引扫描(主键索引),后跟一个count操作生成每个行的rownum值,
count操作不需要等待得到整个记录集,随着从employee表中返回记录,rownum计数器进行增量,从而确定每个记录的rownum.
例2:在rownum伪列上使用一个限定
select id,rownum from employee where rownum<10;
为了实施限定条件,优化器用count stopkey操作代替count操作,它将rownum伪列的增量值与限定条件中指定的值进行比较,如果rownum伪列的值大于限定条件中指定的值,则查询不再返回更多的行!
注意:在where 子句中不能使用 rownum>10这样的操作,只能使用rownum<10这样的操作!
SQL> select rownum rn ,a.* from cnmir.ew_auctions a where rownum<50000;
Execution Plan
----------------------------------------------------------
Plan hash value: 721966694
----------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 49999 | 4833K| 163 (2)| 00:00:02 |
|* 1 | COUNT STOPKEY | | | | | |
| 2 | TABLE ACCESS FULL| EW_AUCTIONS | 49999 | 4833K| 163 (2)| 00:00:02 |
----------------------------------------------------------------------------------
SQL> select * from cnmir.ew_auctions where issue_id<80;
Execution Plan
----------------------------------------------------------
Plan hash value: 518049957
---------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 99 | 1379 (2)| 00:00:17 |
|* 1 | TABLE ACCESS FULL| EW_AUCTIONS | 1 | 99 | 1379 (2)| 00:00:17 |
---------------------------------------------------------------------------------
可见COUNT STOPKEY 机制是只针对rownum而设定的!
关于COUNT STOPKEY的工作机制相关推荐
- namenode和datanode工作机制_Hadoop的namenode的管理机制,工作机制和datanode的工作原理...
HDFS前言: 1) 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 2)在大数据系统中作用: 为各类分布式运算框架(如:mapr ...
- 透过 In-memory Channel 看 Knative Eventing 中 Broker/Trigger 工作机制
In-memory Channel是当前Knative Eventing中默认的Channel, 也是一般刚接触Knative Eventing首先了解到的Channel.本文通过分析 In-memo ...
- android 6.0 高通平台sensor 工作机制及流程(原创)
最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...
- android 6.0 高通平台sensor 工作机制及流程
最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...
- 详解模板引擎工作机制
本文讲的是详解模板引擎工作机制, 我已经使用各种模版引擎很久了,现在终于有时间研究一下模版引擎到底是如何工作的了. 简介 简单的说,模版引擎是一种可以用来完成涉及大量文本数据的编程任务的工具.一般而言 ...
- Seata分布式事务模式(TA、TCC、XA、SAGA)工作机制
文章目录 前言 分布式应用痛点 分布式事务解决方案 Seata Seata AT模式 前提 工作机制 一阶段 二阶段-提交 二阶段-回滚 Seata TCC模式 前提 工作机制 Seata Saga模 ...
- 2021年大数据HBase(十四):HBase的原理及其相关的工作机制
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的原理及其相关的工作机制 一.HBase的flus ...
- java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍
本文主要向大家介绍了JAVA语言之Java NIO的工作机制和实现原理介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 前言 本文只简单介绍NIO的原理实现和基本工作流程 I/O和 ...
- docker用gpu的参数_从零开始入门 K8s | GPU 管理和 Device Plugin 工作机制
导读:2016 年,随着 AlphaGo 的走红和 TensorFlow 项目的异军突起,一场名为 AI 的技术革命迅速从学术圈蔓延到了工业界,所谓 AI 革命从此拉开了帷幕.该热潮的背后推手正是云计 ...
最新文章
- 虚拟化基础架构Windows 2008篇之1-虚拟化基础服务概述
- Android中shape属性详解
- cs-HtmlHelpers
- Oracle 随机获取N条数据
- 自由读写配置文件的艺术[java c++ node](二)
- 14.链表中倒数第k个结点
- java多线程学习-java.util.concurrent详解(五) ScheduledThreadPoolExecutor
- android 的接口回调,android 接口 接口回调
- Android Binder实现浅析-Binder驱动
- 如何制作图书专用标签
- 解决OneNote同步出错
- python调用pyd失效
- 停车场管理系统(一)
- java代理一(静态代理)
- Firebase入门使用 01
- 情人节程序员用HTML网页表白【告白气球,飞入我的心扉】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- python中加减乘除_Python基础算法综合:加减乘除四则运算方法
- (转载)BOX2D V2.3.0 用户手册中文版(第11章)-杂项
- 孙正义:软银愿景基金2号最早下月开始投资 专注AI领域
- Windows登录多个微信
热门文章
- python2与python3性能对比_对Python2与Python3中__bool__方法的差异详解
- 蓝卡在哪里_什么是蓝卡,魅力在哪里,让申请者为之着迷?
- lua脚本在redis集群中执行报错--Lua script attempted to access a non local key in a cluster node...
- 【CentOS】安装部署jenkins从git获取代码[转]
- AXURE RP8实战手册(完整版)
- 用不同的姿势求逆序对(复习篇)
- 低代码这么火,它的人才认证你考了吗?
- 秘密开发一年多,解密奥运史上首个数字云徽章
- 饿了么EMonitor演进史
- 业内首发,ACK@Edge支持高质量加密网络与精细化管理