- 浏览: 872483 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
zzuliuli:
很实用,一直关注
mysql的执行计划 -
rxin2009:
你好,最近在解决redis数据同步的问题,找到了tedis,但 ...
taobao/tedis的redis集群 -
zhangping2056:
楼主接下来要考虑页面静态化与细节上面的东西了
Nginx与Redis解决高并发问题 -
XieFuQ:
Tomcat的重启shell脚本 -
jovinlee:
jovinlee 写道 jov ...
Tomcat的重启shell脚本
Bad sql
SELECT T3.CONFLICT_ID,
T3.LAST_UPD,
T3.CREATED,
T3.LAST_UPD_BY,
T3.CREATED_BY,
T3.MODIFICATION_NUM,
T3.ROW_ID,
T3.ATTR_04,
T3.ATTR_03,
T2.VAL,
T3.ATTR_01,
T3.ATTR_02,
T1.NAME,
T2.VAL1
FROM user.S_ORG_EXT T1, user.CX_LOOKUP T2, user.CX_POS_LOG_INFOT3
WHERE T3.ATTR_02 = T1.PAR_ROW_ID
AND T3.ATTR_01 = T2.NAME1
AND T2.TYPE = 'PROVIDER'
AND (T3.TYPE = 'INFO')
AND (T3.ATTR_04 = :1 AND T3.ATTR_02 = :2)
原因分析:对CX_POS_LOG_INFO表全表扫描,其实统计信息也不准确,表的大小应该500M左右了
--------------------------------------------------------------------------------
| Operation | PHV/Object Name | Rows | Bytes| Cost |
--------------------------------------------------------------------------------
|SELECT STATEMENT |----- 1762745057 ----| | | 3655 |
|NESTED LOOPS | | 1 | 1K| 3655 |
| NESTED LOOPS | | 1 | 109 | 2 |
| TABLE ACCESS BY INDEX ROWID |S_ORG_EXT | 1 | 25 | 1 |
| INDEX UNIQUE SCAN |S_ORG_EXT_U3 | 1 | | 2 |
| TABLE ACCESS BY INDEX ROWID |CX_LOOKUP | 1 | 84 | 1 |
| INDEX RANGE SCAN |CX_LOOKUP_U1 | 1 | | 2 |
| TABLE ACCESS FULL |CX_POS_LOG_INFO | 1 | 1K| 3653 |
--------------------------------------------------------------------------------
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
71207 consistent gets
71187 physical reads
0 redo size
1131 bytes sent via SQL*Net to client
460 bytes received via SQL*Net from client
1 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
0 rows processed
解决思路:
手工添加组合索引,使查询走组合索引,查询从65秒下降到1秒,逻辑读从71207(556M)下降到21
create indexSIEBEL.IDX_CX_POS_LOG_INFO_U1 on SIEBEL.CX_POS_LOG_INFO (ATTR_02, ATTR_04)
tablespace SIEB_IDX
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=3 Card=1 Bytes=1278)
1 0 TABLE ACCESS (BY INDEX ROWID)OF 'CX_POS_LOG_INFO' (Cost=1 Card=1 Bytes=1169)
2 1 NESTED LOOPS (Cost=3 Card=1Bytes=1278)
3 2 NESTED LOOPS (Cost=2Card=1 Bytes=109)
4 3 TABLE ACCESS (BY INDEXROWID) OF 'S_ORG_EXT' (Cost=1 Card=1Bytes=25)
5 4 INDEX (UNIQUE SCAN) OF'S_ORG_EXT_U3' (UNIQUE) (Cost=2 Card=1)
6 3 TABLE ACCESS (BY INDEXROWID) OF 'CX_LOOKUP' (Cost=1 Card=1Bytes=84)
7 6 INDEX (RANGE SCAN) OF'CX_LOOKUP_U1' (UNIQUE) (Cost=2 Card=1)
8 2 INDEX (RANGE SCAN) OF'IDX_CX_POS_LOG_INFO_U1' (NON-UNIQUE)(Cost=1 Card=93)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
18 consistent gets
0 physical reads
0 redo size
1448 bytes sent via SQL*Net to client
655 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
发表评论
-
TCC 分布式事务
2019-09-11 09:30 0https://www.cnblogs.com/jajia ... -
终于明白为什么要“分库分表”了!
2019-09-11 09:28 0例如:单表中出现了,动辄百万甚至千万级别的数据。“分表分库” ... -
数据同步利器-otter的搭建使用说明
2019-09-11 09:26 0本文链接:https://blog.cs ... -
Oracle insert大量数据经验之谈(转)
2017-06-07 14:53 938在很多时候,我们会需要对一个表进行插入大量的数据,并且希望 ... -
Oracle的执行计划
2017-03-17 17:04 0Oracle的执行计划 得到执行计划的方 ... -
oracle跨库查询dblink的用法
2016-01-15 14:02 1089http://www.cnblogs.com/ningvsb ... -
Oracle同义词创建及其作用
2016-01-15 14:01 913Oracle的同义词(synonyms)从字面上理解就是 ... -
Windows 64位 安装Oracle instantclient 官方绿色版和PL/SQL Developer 总结
2015-12-24 15:40 6403操作系统:Windows 7 64位旗舰 要求,安装PL/ ... -
oracle数据中记录被另一个用户锁住
2015-02-03 18:58 2657今天,运行Java后台程序,设置了断点,每到执行SQL语句 ... -
Oracle中唯一约束和唯一索引,PK,FK,UK.CK
2014-12-10 09:52 3746PK 主键 Primary Key :http://baik ... -
索引失效系列——隐式类型转换
2013-05-30 16:57 1436索引是我们进行优化的一种重要方式。实际工作中,一个简单的索引 ... -
索引失效系列——说说is null
2013-05-30 16:54 1809索引是我们进行优化的一种重要方式。实际工作中,一个简单的索引 ... -
查询语句中select from where group by having order by的执行顺序
2013-05-30 09:19 1644查询语句中select from where group b ... -
oracle 锁
2012-09-05 22:38 869这个月的主要工作任务 ... -
sql中exist与in 的区别
2012-08-24 09:51 941sql中exist与in 的区别2007年03月02日 星期五 ... -
ORACLE-SQL优化
2012-08-15 16:20 1209Oracle的优化器共有两种 ... -
oracle sql优化案例2(RBO下调整表连接的顺序) .
2012-08-15 16:18 1063发现问题: 通过statspack(statspack的bu ... -
脏读,不可重复读,幻读 .
2012-08-14 11:25 9261. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行 ... -
%type与%rowtype区别
2012-08-07 15:23 991%TYPE:属性的一种方式是在变量声明中使用。%TYPE是用于 ... -
oracle索引
2012-08-06 14:44 989在OLTP 类型的数据库中经常更新的表INDEX ...
相关推荐
第1章 全局在胸——用工具对SQL整体优化 1 1.1 都有哪些性能工具 1 1.1.1 不同调优场景分析 2 1.1.2 不同场景对应工具 2 1.2 整体性能工具的要点 4 1.2.1 五大性能报告的获取 5 1.2.2 五大报告关注的要点 10 ...
在Oracle数据库中优化SQL语句是一项至关重要的任务,它直接影响着数据库系统的性能和效率。以下是一些关于如何优化SQL的详细原则和步骤: 1. **已验证的语句与共享池的一致性**:确保执行的SQL语句与已经在数据库...
Oracle 数据库中的表连接是构建复杂 SQL 查询的基础,它允许从多个表中组合数据。连接方法的选择直接影响到查询性能,因此了解各种连接类型及其适用场景至关重要。本文将深入探讨 Oracle 中的三种主要连接方式:嵌套...
1. 考虑是否需要复合索引IDX_ORDER_COMPOSITE,如果CLIENT、ORDER_DATE和IS_SHIPPED组合的唯一性较低,可能需要为每个字段单独建立索引,或者根据查询频率优先级选择性创建。 2. 分析T_ORDER_ITEM表的查询模式,...
Oracle 的 Parallel 并行技术案例详解 Oracle 的 Parallel 并行技术是指在数据库系统中实现并行处理的技术,通过将一个大的任务分解成多个小的任务,并利用多个进程或线程来并发执行这些小任务,从而提高系统的处理...
在修改SQL或表结构前,最好先使用`EXPLAIN PLAN`或`10053`事件进行性能分析,对比优化前后的执行计划和资源消耗,确保优化效果。 在实际应用中,结合企业的具体业务需求和技术架构,综合运用上述优化方法,可以显著...
5. **组合索引**:对于复合索引,只有包含所有引导列的查询条件才会使用索引。如果只筛选组合索引中的部分列,那么索引可能不会被充分利用。应确保WHERE子句中的条件至少包含组合索引的引导列。 在分析索引使用情况...
5.2.1.9 组合索引高效设计要领272 5.2.1.10变换角度看索引的危害289 5.2.1.11如何合理控制索引数量295 5.2.2 位图索引的玫瑰花之刺 297 5.2.2.1 统计条数奋勇夺冠297 5.2.2.2 即席查询一骑绝尘302 5.2.2.3 遭遇更新...
其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...
1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + ...
3. **数据迁移**: 使用Oracle的数据泵工具(如expdp/impdp)、物理复制(如RMAN备份恢复)或逻辑复制(如SQL脚本导出导入)将数据从源数据库迁移到目标数据库。 4. **权限和对象迁移**: 转移用户、角色、权限以及...
【Oracle数据库基础知识】 Oracle是一种广泛使用的商业关系型数据库管理系统(RDBMS),由甲骨文公司(Oracle Corporation)开发和...通过优化配置和管理,Oracle能够有效地支持医疗机构提升服务质量、提高工作效率。
1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + ...
视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。 视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。 视图的优点: 1.对数据库的...
1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' +...
数据库急救成立以来,一直从事各种主流数据库的修复及恢复工作,其中包括 MS SQL,MYSQL,Oracle,Access,Sybase,IBMDB2等20余种数据库。 国内目前最专业的数据库救援站,长期修复研究各数据库的物理结构及逻辑...
2. Oracle:SQL查询、存储过程、索引优化、事务管理等。 3. Linux:命令行操作、文件系统、进程管理、网络配置等。 4. Shell:脚本编写、条件判断、循环结构、函数使用等。 以上内容仅为面试准备的要点,实际面试...
- PL/SQL引擎:PL/SQL是Oracle数据库中的过程化语言,文档中的结构图描绘了其基本组成,包括词法分析、语法分析、异常处理、执行器等环节。 - 数据字典:在数据库中,数据字典存储关于数据库本身的信息,如表、列...
13.6.1 优先使用(对象)组合,而非(类)继承 478 13.6.2 针对接口编程,而非(接口的)实现 481 13.6.3 开放-封闭法则(OCP) 482 13.6.4 Liskov替换法则(LSP) 485 13.6.5 单一职责原则(SRP) 486 13.6.6 依赖...