监控索引的使用情况

简介:
从Oracle 9i 开始,可以监控Oracle 索引的使用情况,具体方法如下:
alter index . MONITORING USAGE;
例如
alter index insur_test.INDEX_BS_INSURED_NAME MONITORING USAGE;
对某个INDEX 开启监控后,就可以观察该INDEX 是否被使用:
SQL> select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage;

INDEX_NAME                     MONITORING USED START_MONITORING    END_MONITORING
------------------------------ ---------- ---- ------------------- -------------------
INDEX_BS_INSURED_NAME          YES        NO   11/12/2012 09:10:37
如上所示该索引已被监控了,但还没被使用
下面再使用这个索引进行查询
select * from bs_insured a where a.name='丁淼';

再查询一下监控情况
SQL> select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage;

INDEX_NAME                     MONITORING USED START_MONITORING    END_MONITORING
------------------------------ ---------- ---- ------------------- -------------------
INDEX_BS_INSURED_NAME          YES        YES  11/12/2012 09:10:37
监控的索引已经使用了



注意的是,由于V$OBJECT_USAGE 视图限制了只显示当前用户下被监控的索引的情况,
因此,通过其他用户登录数据库,将无法看到,如果要查看所有用户下的被监控的索引的情
况,使用如下SQL:
select u.name owner, io.name index_name, t.name table_name,
decode(bitand(i.flags, 65536), 0, 'NO', 'YES') monitoring,
decode(bitand(ou.flags, 1), 0, 'NO', 'YES') used,
ou.start_monitoring start_monitoring,
ou.end_monitoring end_monitoring
from sys.user$ u, sys.obj$ io, sys.obj$ t, sys.ind$ i, sys.object_usage ou
where i.obj# = ou.obj#
and io.obj# = ou.obj#
and t.obj# = i.bo#
and u.user# = io.owner#
如果要取消对索引使用情况的监控,使用下列SQL:
alter index . NOMONITORING USAGE;

alter index insur_test.INDEX_BS_INSURED_NAME NOMONITORING USAGE;
再查询该索引的监控情况
SQL> select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage;

INDEX_NAME                     MONITORING USED START_MONITORING    END_MONITORING
------------------------------ ---------- ---- ------------------- -------------------
INDEX_BS_INSURED_NAME          NO         YES  11/12/2012 09:10:37 11/12/2012 09:14:39

要注意的是:索引使用情况监控,会增加部分系统开销。
目录
相关文章
|
前端开发 JavaScript 安全
深入理解Python Web开发中的前后端分离与WebSocket实时通信技术
在现代Web开发中,前后端分离已成为主流架构,通过解耦前端(用户界面)与后端(服务逻辑),提升了开发效率和团队协作。前端使用Vue.js、React等框架与后端通过HTTP/HTTPS通信,而WebSocket则实现了低延迟的全双工实时通信。本文结合Python框架如Flask和Django,探讨了前后端分离与WebSocket的最佳实践,包括明确接口规范、安全性考虑、性能优化及错误处理等方面,助力构建高效、实时且安全的Web应用。
385 2
|
SQL 关系型数据库 MySQL
mysql下出现Unknown column ‘xx‘ in ‘on clause‘的完全解决方法
mysql下出现Unknown column ‘xx‘ in ‘on clause‘的完全解决方法
874 0
|
前端开发 JavaScript
前端基础(七)_DOM元素获取(getElementById、getElementsByTagName、getElementsByClassName、querySelector等)
本文介绍了如何在前端通过不同的方法获取DOM元素,包括getElementById、getElementsByTagName、getElementsByClassName、querySelector和querySelectorAll。
797 3
|
数据采集 XML 数据挖掘
CDGA|数据治理新视角:清洗数据,让数据质量飞跃提升
在数据治理中,标准化处理和确保数据的可溯源性是两个重要的方面。通过标准化处理,我们可以将复杂的数据转化为易于管理和分析的形式;通过确保数据的可溯源性,我们可以验证数据的准确性和可靠性。这两个方面共同构成了数据治理的基石,为数据分析和挖掘提供了有力的支持。因此,我们应该重视数据治理工作,不断完善和优化数据治理体系,以应对日益复杂的数据挑战。
|
8月前
|
供应链 算法 数据挖掘
课时14:工业大脑介绍
阿里云ET工业大脑以数据为驱动,融合算法模型和互联网技术,优化工业生产全流程。它通过数据分析、参数调节、故障预测、智能质检和供应链管理等手段,提升产品质量、生产效率及资源利用率,助力企业实现智能化转型,推动绿色工厂建设,成功应用于光伏、橡胶等行业,显著提高经济效益与环保水平。
250 0
|
运维 Cloud Native 安全
带你读《云原生架构白皮书2022新版》——DevOps(上)
带你读《云原生架构白皮书2022新版》——DevOps(上)
763 97
|
自然语言处理 数据可视化 数据挖掘
闭源与开源嵌入模型比较以及提升语义搜索效果的技术探讨
本文探讨了自然语言处理中嵌入技术的应用,重点在于语义搜索及聚类方法。通过对比不同规模的开源与闭源模型,文章展示了如何利用聚类技术过滤无关结果,提高搜索精度。实验结果显示,较小模型如mxbai在某些任务上表现优异,提示我们在追求高性能的同时不应忽视计算效率与成本效益。最后,文章还介绍了重新排序技术,进一步优化检索结果的相关性。
319 7
闭源与开源嵌入模型比较以及提升语义搜索效果的技术探讨
|
前端开发 算法 容器
css【详解】grid布局—— 网格布局(栅格布局)(一)
css【详解】grid布局—— 网格布局(栅格布局)(一)
1516 1
|
传感器 算法 安全
嵌入式工程师需要掌握哪些技术?
嵌入式系统是科技核心,涉及生活多领域。入行需掌握C/C++编程,理解硬件基础如电路与处理器架构,熟悉RTOS及操作系统原理,掌握通信协议如UART、I2C,擅长调试与领域知识,如汽车、医疗。综合软硬件、设计、算法、网络、安全及团队协作能力,方能胜任嵌入式开发。
285 7
|
小程序 前端开发
网络祭祀人物微信小程序模板源码
网络祭祀人物微信小程序模板源码
183 5