Index/table 分析時間查詢

[复制链接]
查看11 | 回复3 | 2014-2-19 11:55:14 | 显示全部楼层 |阅读模式
較大的一個生產庫,之前做過Index/table的分析。
現在需要查出之前某個Index/table分析所用的時間,哪位高手知道怎麼個查法?
先行謝過......
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
应该没有好的办法,如果你是连续分析多个table的话,本表的LAST_ANALYZED减去上一个table的LAST_ANALYZED大概就是本表的耗费时间
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
有一个不是很准确的,可以参考的时间是
对比dba_tables/dba_indexes的last_analyzed , 相邻的两个时间差,也许就是后面那个object的analyzed 的所用时间,前提就是连续分析
比如:
SELECT object_name, Round((LAST_ANALYZED - lag(LAST_ANALYZED) over(ORDER BY LAST_ANALYZED))*24*3600,1),LAST_ANALYZED
FROM (
SELECT LAST_ANALYZED,table_name AS object_name FROM dba_tables
WHERE LAST_ANALYZED IS NOT null
UNION ALL
SELECT LAST_ANALYZED,index_name AS object_name FROM dba_indexes
WHERE LAST_ANALYZED IS NOT null
)
ORDER BYLAST_ANALYZED desc
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
謝謝anlinew及rollingpig的詳細解答﹗
也就是說如果要查出具體某個table的分析時間就只能是在連續分析的前提下了是吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行