暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 创建表时间

askTom 2017-01-10
161

问题描述

大家好,

用户昨天启动了创建表脚本,当我检查它显示创建的表时,它今天已经完成。现在我们想知道
创建表所花费的时间。

因此,任何获得该表创建查询开始时间和结束时间的方法,或者我们可以找到该查询创建表所花费的时间。


谢谢

专家解答

您可以从user_Objects中查找表的时间:

create table t (
  x int
);

select to_char(created, 'dd-mon hh24:mi')
from   user_objects
where  object_name = 'T';

TO_CHAR(CREATED,'DD-MONHH24:MI')  
10-jan 08:58 


如果您有一个“将表创建为选择”,并且您想知道执行语句需要多长时间,最简单的方法是将检测添加到脚本中。记录语句前和语句后的时间,然后从语句中减去前者。

假设您没有执行此操作,并且该脚本最近已执行,则可以从v$sql中获取运行时间(以微秒为单位) :

drop table t purge;
create table t as
  select rownum x from dual connect by level <= 100000;
 
select elapsed_time, sql_text from v$sql
where  sql_text like 'create%connect by level <= 100000' --text of your statement
and    sql_text not like '%not this%';

ELAPSED_TIME  SQL_TEXT                                                                  
204,315       create table t as   select rownum x from dual connect by level <= 100000  


如果它从缓存中消失了,并且您已获得诊断+优化的许可,您可能可以从AWR获得此信息。但只有在查询“昂贵”时,才会保留此选项,例如,运行时间最长的前10个,物理读取等。创建表的时候。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论