首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DB笔试面试643】在Oracle如何查询和索引历史统计信息?

♣ 题目部分 在Oracle如何查询和索引历史统计信息?...♣ 答案部分 从Oracle 10g开始,当收集统计信息时候,旧统计数据被保留,如果因为新统计信息而出现性能问题,旧统计信息就可以被恢复。...历史统计信息保存在以下几张: l WRI$_OPTSTAT_TAB_HISTORY 统计信息 l WRI$_OPTSTAT_IND_HISTORY 索引统计信息 l WRI$_OPTSTAT_HISTHEAD_HISTORY...列统计信息 l WRI$_OPTSTAT_HISTGRM_HISTORY 直方图信息 从视图DBA_TAB_STATS_HISTORY可以查询历史收集统计信息时间,但是不能查询行数,所以需要结合基查询...查询索引历史统计信息SQL语句如下: SELECT B.OWNER, B.OBJECT_NAME INDEX_NAME, TO_CHAR(D.ANALYZETIME, '

2.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

DB笔试面试469】Oracle如何删除重复记录?

题目部分 Oracle如何删除重复记录? 答案部分 平时工作可能会遇到这种情况,当试图对表某一列或几列创建唯一索引时,系统提示ORA-01452 :不能创建唯一索引,发现重复记录。...1、删除重复记录方法原理 在Oracle,每一条记录都有一个ROWID,ROWID在整个数据库是唯一,ROWID确定了每条记录是在Oracle哪一个数据文件、块、行上。...SELECT 字段1,字段2 FROM 名 GROUP BY 字段1,字段2 HAVING COUNT(1) > 1); 也可以利用临时方式,先将查询重复数据插入到一个临时,然后进行删除...,这样,执行删除时候就不用再进行一次查询了。...,并将查询数据插入其中。

2.7K30

DB笔试面试600】在Oracle如何获取SQL历史执行计划?

♣ 题目部分 在Oracle如何获取SQL历史执行计划?...♣ 答案部分 历史执行计划只能从AWR获取,如果AWR没有记录的话,那么就无法获取历史执行计划了,获取历史执行计划命令如下所示: SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_AWR...,单机环境为1,RAC环境填写具体实例号,L_BID为开始快照号,L_EID为结束快照号,L_SQLID为要查看SQLSQL_ID。...下面的例子可以直接从AWR获取SQL_ID为“bsa0wjtftg3uw”执行计划,可以看到历史有2种执行计划,一个是全扫描,一个是索引范围扫描: SYS@RAC2LHR1> SELECT * FROM...本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

1.1K20

DB笔试面试650】在Oracle如何查询DML操作数据变化量?

♣ 题目部分 在Oracle如何查询DML操作数据变化量?...影响行数,以及是否执行过TRUNCATE操作。...从Oracle 10g开始,当初始化参数STATISTICS_LEVEL值被设置为TYPICAL或ALL时,默认会启用Oracle中表监控特性,此时,Oracle会默认监控自上一次分析(Last...Analyzed)之后发生INSERT、UPDATE、DELETE以及是否被TRUNCATE截断操作,并且Oracle数据库SMON后台进程每15分钟会将这些操作数量近似值(内存SGA记录...需要注意是,在作者实际测试过程中发现,Oracle并不是严格按照每15分钟将SGADML刷新到MON_MODS$,而且也不是严格按照每天1次规律刷新MON_MODS$数据到MON_MODS_ALL

2.1K20

DB笔试面试593】在Oracle访问方式有哪几种?

♣ 题目部分 在Oracle访问方式有哪几种?...当Oracle执行全扫描时,会按顺序读取每个块且只读一次,如果能够一次读取多个块,那么可以有效地提高效率,初始化参数DB_FILE_MULTIBLOCK_READ_COUNT用来设置在一次I/O可以读取多少个数据块...例如,块小于DB_FILE_MULTIBLOCK_READ_COUNT,只需一次I/O。...(二)索引扫描(INDEX SCAN) 索引不仅包含被索引字段值,还包含行位置标识ROWID,如果SQL语句只检索索引字段,那么Oracle将直接从索引读取而不需要通过ROWID去访问;如果SQL...通常情况下,索引全扫描是不需要回,所以索引全扫描适用于目标SQL查询列全部是目标索引索引键值列情形。

1.2K40

oracle如何优雅递归查询

一条sql怎么查出单中含有父子关系数据呢?...tab.name, '\' ) FROM tab WHERE LEVEL = 3 CONNECT BY PRIOR tab.id = tab.parid image.png 还有其他更优雅写法吗...,需要注意是如果with后面的值是子节点那么求出就是他父节点和祖宗节点,如果是父节点那么求出就是他子节点和子孙节点,如果不懂可以把上面start with 后面的条件改成 p.parent=0...关键词prior,prior跟它右边父节点放在一起(prior p.parent)表示往父节点方向遍历, 反之,如果 prior跟子节点放在一起(prior p.id)表示往叶子方向遍历。...这里需要注意 =p.id 放在prior关键词前面或者后面都没什么关系,也就是上面可以这样写 p.id= prior p.paren。重要是prior旁边放

10.7K62

DB笔试面试569】在OracleSQL如何优化?SQL优化关注点有哪些?

♣ 题目部分 在OracleSQL如何优化?SQL优化关注点有哪些? ♣ 答案部分 随着数据库数据量增长,系统响应速度就成为目前系统需要解决最主要问题之一。...对于一个系统不是简单地能实现其功能就可以了,而是要写出高质量SQL语句,提高系统可用性。 在多数情况下,Oracle使用索引来更快地遍历,优化器主要根据定义索引来提高性能。...如果在SQL语句WHERE子句中写SQL条件不合理,那么就会造成优化器舍去索引而使用全扫描,一般这种SQL语句性能都是非常差。...是否可以使用组合索引;限制条件、连接条件列是否有索引;能否使用到索引,避免全扫描。一般情况下,尽量使用索引,因为索引在很多情况下可以提高查询效率。...有可能是设计不合理、业务需求不合理,而问题SQL并非根本原因。 (9)查询特别频繁结果是否可以缓存,比如Oracle/*+ result_cache */。 (10)分析连接方式。

99320

DB笔试面试584】在Oracle如何得到已执行目标SQL绑定变量值?

♣ 题目部分 在Oracle如何得到已执行目标SQL绑定变量值?...♣ 答案部分 当Oracle解析和执行含有绑定变量目标SQL时,如果满足如下两个条件之一,那么该SQL绑定变量具体输入值就会被Oracle捕获: l 当含有绑定变量目标SQL以硬解析方式被执行时...,Oracle只会捕获那些位于目标SQLWHERE条件绑定变量具体输入值,而对于那些使用了绑定变量INSERT语句,不管该INSERT语句是否是以硬解析方式执行,Oracle始终不会捕获INSERT...查询视图V$SQL_BIND_CAPTURE或V$SQL可以得到已执行目标SQL绑定变量具体输入值。...如果V$SQL_BIND_CAPTURE查不到,那么有可能对应Shared Cursor已经从Shared Pool中被清除了,这时候可以尝试从AWR相关数据字典DBA_HIST_SQLSTAT

3K40

DB笔试面试806】在Oracle如何查找未使用绑定变量SQL语句?

♣ 题目部分 在Oracle如何查找未使用绑定变量SQL语句?...⊙ 【DB笔试面试586】在Oracle,什么是自适应游标共享(4)?⊙ 【DB笔试面试586】在Oracle,什么是自适应游标共享(3)?...⊙ 【DB笔试面试586】在Oracle,什么是自适应游标共享(2)?⊙ 【DB笔试面试586】在Oracle,什么是自适应游标共享(1)?...⊙ 【DB笔试面试585】在Oracle,什么是常规游标共享?⊙ 【DB笔试面试584】在Oracle如何得到已执行目标SQL绑定变量值?...⊙ 【DB笔试面试583】在Oracle,什么是绑定变量分级?⊙ 【DB笔试面试582】在Oracle,什么是绑定变量窥探(下)?

6.2K20

谈谈SQL查询对性能影响

10; 业务需要,LIKE 时候必须使用模糊查询,我当然知道这会导致全扫描,不过速度确实太慢了,直观感受,全扫描不至于这么慢!...EXPLAIN: SQL Without LIMIT 如上所示:去掉 limit 后,根本就没用上索引,直接全扫描,不过反而更快。...要想搞清楚缘由,你需要理解本例 SQL 查询处理流程:当使用 limit 时,因为只是返回几条数据,所以优化器觉得采用一个满足 order by 索引比较划算;当不使用 limit 时,因为要返回所有满足条件数据...不过就算知道这些还是不足以解释为什么在本例扫描反而快,实际上这是因为当使用索引时候,除非使用了 covering index,否则一旦索引定位到数据地址后,这里会有一个「回操作,形象一点来说...,就是返回原始对应行数据,以便引擎进行再次过滤(比如本例 like 运算),一旦回操作过于频繁,那么性能无疑将急剧下降,全扫描没有这个问题,因为它就没用索引,所以不存在所谓「回」操作。

2.3K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券