"1.需求概述" "2.实施步骤" "3.回退方案" 1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计划临时解决,但此方法不够灵活,后续维护工作量也会增加。 Oracle优化器(CBO)依赖 ...
分类:
数据库 时间:
2019-01-18 23:58:55
阅读次数:
359
1.关于exists和in in是循环的方式,在内存中处理, exists是执行数据库查询, select tpd.personaccountid,sum(nvl(tpd.CREDIT_SUM, 0)) as bjsr, sum(nvl(tpd.INTEREST_INCOME, 0)) as bjs ...
分类:
数据库 时间:
2018-12-14 19:41:27
阅读次数:
185
组合索引适用场景: 1.适用在单独查询返回记录很多,组合查询后忽然返回记录很少的情况: 比如where 学历=硕士以上 返回不少的记录 比如where 职业=收银员 同样返回不少的记录 于是无论哪个条件查询做索引,都不合适。 可是,如果学历为硕士以上,同时职业又是收银员的,返回的就少之又少了。 于是 ...
分类:
数据库 时间:
2018-11-12 13:14:57
阅读次数:
205
单表分页优化思路:--创建测试表:SQL> create table t_test as select * from dba_objects; Table created.如,下面的sql (没有过滤条件,只有排序),要将查询结果分页显示,每页显示10条,如:select * from t_test order by object_id;例子:1、分页查询sql语句,如下(通常会采
分类:
数据库 时间:
2018-08-08 18:12:43
阅读次数:
167
oracle 优化or 更换in、exists、union几个字眼。测试没有问题! 根据实际情况选择相应的语句是。假设指数,or全表扫描,in 和not in 应慎用。否则会导致全表扫描。 ...
分类:
数据库 时间:
2018-07-29 16:22:42
阅读次数:
172
1、rownum (1) 2、with as 临时表 ...
分类:
数据库 时间:
2018-07-25 11:34:17
阅读次数:
247
1.oracle优化器 优化目标分为4种: choose (选择性) rule (基于规则) first rows(第一行) all rows(所有行) Description:描述sql的执行计划 Object owner:对象模式 Object name:对象名 Cost:花费(的时间) Car ...
分类:
数据库 时间:
2018-07-08 15:36:42
阅读次数:
222
1.oracle优化器 优化目标分为4种: choose (选择性) rule (基于规则) first rows(第一行) all rows(所有行) Description:描述sql的执行计划 Object owner:对象模式 Object name:对象名 Cost:花费(的时间) Car ...
分类:
数据库 时间:
2018-07-08 13:33:07
阅读次数:
200
什么是谓词越界?谓词越界其实就是SQL语句的查询条件超出了数据库统计信息所记录的范围。谓词越界会导致Oracle优化器错误的选择SQL语句的执行计划,导致性能问题。 这里举一个简单的例子说明谓词越界导致优化器选择了错误的执行计划。 这里创建了t1表,并在col1列上创建了索引,并向表里写入了1000 ...
分类:
数据库 时间:
2018-05-19 10:43:42
阅读次数:
208
1. 目前状况 1.1 表空间未合理规划,导致所有的用户下的所有表都创建在默认的表空间下 oracle 使用过程中未针对特定数据表进行特定的表空间规划,导致目前实例中所有的数据库表都存储中默认的表空间文件(dbf)中,从目前高峰时的性能监测可以看出,oracle 数据所在磁盘使用率为 100%,而其 ...
分类:
数据库 时间:
2018-04-27 13:30:49
阅读次数:
252