oracle执行计划更新,请教update和delete的执行计划
本帖最后由 xihuisi333 于 2016-4-24 21:34 编辑
select语句执行计划有1步是根据ROWID取表的数据,逻辑读=1次根节点扫描+1次叶子节点扫描+1次表扫描=3。
update和delete语句没有TABLE ACCESS BY INDEX ROWID,逻辑读=1次根节点扫描+1次叶子节点扫描=2。
update和delete语句不需要根据rowid查出表中的数据再做更新或删除吗?还是执行计划中没体现?
create table test1 as select level id,'x'||level name from dual connect by level<=10000;
create unique index i_test1 on test1(id);
select a.blevel,a.leaf_blocks,a.num_rows,a.index_name from user_indexes a where index_name='I_TEST1';
BLEVEL LEAF_BLOCKS NUM_ROWS INDEX_NAME
------ ----------- ---------- ---------------
1 20 10000 I_TEST1
--1.
select * from test1 where id=1;
---------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 10 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| TEST1 | 1 | 10 | 2 (0)| 00:00:01 |
|* 2 | INDEX UNIQUE SCAN | I_TEST1 | 1 | | 1 (0)| 00:00:01 |
---------------------------------------------------------------------------------------
3 consistent gets
--2.
update test1 set name='x' where id=1;
-----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------
| 0 | UPDATE STATEMENT | | 1 | 10 | 2 (0)| 00:00:01 |
| 1 | UPDATE | TEST1 | | | | |
|* 2 | INDEX UNIQUE SCAN| I_TEST1 | 1 | 10 | 1 (0)| 00:00:01 |
-----------------------------------------------------------------------------
2 consistent gets
--3.
delete from test1 where id=1;
-----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------
| 0 | DELETE STATEMENT | | 1 | 13 | 1 (0)| 00:00:01 |
| 1 | DELETE | TEST1 | | | | |
|* 2 | INDEX UNIQUE SCAN| I_TEST1 | 1 | 13 | 1 (0)| 00:00:01 |
-----------------------------------------------------------------------------
2 consistent gets
oracle执行计划更新,请教update和delete的执行计划相关推荐
- mybatis执行批量更新batch update 的方法(oracle,mysql)
oracle和mysql数据库的批量update在mybatis中配置不太一样: oracle数据库: <updateid="batchUpdate" parameterTy ...
- oracle 视图怎么更新数据,Update视图数据(oracle)
一般说起视图第一反应就是无法对其中数据进行修改,如果视图只包含一张表,应该是可以update的,因为SQL会执行查询转换,将视图转成表.但是多数的视图都是多表关联,那如何对视图中的数据进行update ...
- oracle中update,insert,delete的高级用法
一.对视图的更新. update,insert,delete除了可以作用于单表,还可以作用于视图.子查询,但是有种种限制. 视图(子查询)的限制: 1.没有集合操作符(并.差.交): 2.没有DI ...
- oracle Plsql 执行update或者delete时卡死问题解决办法
oracle Plsql 执行update或者delete时卡死问题解决办法 参考文章: (1)oracle Plsql 执行update或者delete时卡死问题解决办法 (2)https://ww ...
- oracle中执行某sql语句后,如一系列delete、update等操作,怎么看影响的行数?如我执行了n个表的delete语句,得看我删除了多少数据,万一sql写的有问题,误删了数据,不是灾难?
oracle中执行某sql语句后,如一系列delete.update等操作,怎么看影响的行数?如我执行了n个表的delete语句,得看我删除了多少数据,万一sql写的有问题,误删了数据,不是灾难? 使 ...
- Oracle使用游标更新数据 Oracle游标之select for update和where current of 语句
Oracle使用游标更新数据 2016年11月20日 13:15:49 hzwy23 阅读数:5313 友情推广 ###使用游标修改数据 ####定义一个游标,游标名称为 mycursor ##### ...
- oracle 索引概念、索引相关、sql查询执行计划
文章目录 一.索引 1.1 索引概念 1.2 索引分类 1.3 位图索引(企业版oracle): 1.4 B树索引 (1) 唯一索引 (2) 组合索引 (3) 反向键索引 (4) 函数索引 1.5 和 ...
- oracle 多值更新,oracle 同时更新(update)多个字段多个值
--创建表A,B: create table A (a1 varchar2(33),a2 varchar2(33),a3 varchar2(33)); create table B (b1 varch ...
- oracle没有提交更新,oracle 中更新update不成功的原因
oracle 中执行insert into 与delete 都正常,但是执行update 却没有反应. 原因: 是因为记录锁.这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在o ...
- update和delete操作忘加where条件导致全表更新的处理方法
在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者D ...
最新文章
- 好用到爆的 Java 技巧
- 举行可衡量自动行驶车未来发展的“智能模型车竞赛大会” 2018
- linux中下载ftp文件
- 开发日记-20190522 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
- th:text为null报错_小猿圈web前端之vue-cli项目打包完成后运行文件路径报错问题
- Leetcode每日必刷题库第4题,如何寻找两个正序数组的中位数?
- GNN大有可为,从这篇开始学以致用
- springmvc面试题2021
- UI自学宝典,完整UI学习线路图
- 关于Jakarta EE软件包名称更改的思考
- You can't specify target table 'TS_AUTH_ADMIN' for update in FROM clause记录
- django安装与简介
- Windows线程同步--关键段和旋转锁
- C++资源之不完全导引(下)
- hightopo学习之旅一 -- 节点动画
- 2020年初冠状病毒大事记随笔
- 破解水卡教程 超详细
- matalb读取txt文件以及将数据写入txt文件
- ベルベット / 贝姐
- Tomcat JDBC Pool使用说明
热门文章
- Android——selector背景选择器的使用详解(二)
- 运维人员写项目方案及推进项目的基本流程思路
- Ubuntu 14.04 配置iptables防火墙
- cocos2d 字体颜色
- 不为人知的AI简史:人机共生梦想家,却意外促成互联网的出现
- Android基础控件TextClock和Chronometer的使用
- 数据库中字段设计与NULL值操作
- 错误 ORA-01102: cannot mount database in EXCLUSIVE mode 的处理方法
- 如何将开源项目部分代码作为private放在github上?
- 四、Hyper-v Server 2008r2 设置远程管理