精华内容
下载资源
问答
  • 在某一段时间中执行过的SQL语句,代码如下: SELECT TOP 100 QS.creation_time, SUBSTRING(ST.text, (QS.statement_start_offset / 2) + 1, ((CASE QS.statement_end_offset WHEN - 1 THEN DATALENGTH(st.text) ...

    在某一段时间中执行过的SQL语句,代码如下:

    SELECT TOP 100 QS.creation_time, SUBSTRING(ST.text, (QS.statement_start_offset / 2) + 1,
    ((CASE QS.statement_end_offset WHEN - 1 THEN DATALENGTH(st.text) ELSE QS.statement_end_offset END - QS.statement_start_offset) / 2) + 1)
    AS statement_text, ST.text, QS.total_worker_time, QS.last_worker_time, QS.max_worker_time, QS.min_worker_time
    FROM sys.dm_exec_query_stats QS CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST
    WHERE QS.creation_time BETWEEN '2020-12-15 1:00:00' AND '2020-12-15 12:00:00' AND ST.text LIKE '%%'
    ORDER BY QS.creation_time DESC;
    SELECT TOP 100 
    QS.CREATION_TIME 时间,
    SUBSTRING(ST.TEXT,(QS.STATEMENT_START_OFFSET/2)+1,((CASE QS.STATEMENT_END_OFFSET WHEN -1 THEN DATALENGTH(ST.TEXT) ELSE QS.STATEMENT_END_OFFSET END - QS.STATEMENT_START_OFFSET)/2)+1) AS 语句块,
    ST.TEXT AS 语句,
    QS.TOTAL_WORKER_TIME AS 总执行时间毫秒,
    QS.LAST_WORKER_TIME AS 上次执行时间毫秒,
    QS.MAX_WORKER_TIME AS 最大执行时间毫秒,
    QS.MIN_WORKER_TIME AS 最小执行时间毫秒
    FROM SYS.DM_EXEC_QUERY_STATS QS
    CROSS APPLY SYS.DM_EXEC_SQL_TEXT(QS.SQL_HANDLE) ST
    WHERE QS.CREATION_TIME BETWEEN CONVERT(VARCHAR(10),GETDATE(),23) AND CONVERT(VARCHAR(10),GETDATE()+1,23)
    ORDER BY QS.TOTAL_WORKER_TIME DESC
    

    检测是否表中存在某些数据,存在则执行下一个语句:

    if EXISTS (select * from s_params where ParamName = 'test1' and ParamValue = 0)
    begin
    	select * from s_params where ParamName = 'test2'
    end

     

    展开全文
  • 查询一段时间内的oracle执行的sql

    千次阅读 2018-08-08 16:25:05
    select t.SQL_TEXT, t.FIRST_LOAD_TIME from v$sqlarea t where TO_DATE(t.FIRST_LOAD_TIME,’YYYY-MM-DD HH24:MI:SS’)>= TO_DATE(‘2018-08-08 15:32:00’,’YYYY-MM-DD HH24:MI:SS’) AND TO_D...

    select t.SQL_TEXT, t.FIRST_LOAD_TIME from v$sqlarea t
    where TO_DATE(t.FIRST_LOAD_TIME,’YYYY-MM-DD HH24:MI:SS’)>= TO_DATE(‘2018-08-08 15:32:00’,’YYYY-MM-DD HH24:MI:SS’)
    AND TO_DATE(t.FIRST_LOAD_TIME,’YYYY-MM-DD HH24:MI:SS’)<= TO_DATE(‘2018-08-08 15:50:00’,’YYYY-MM-DD HH24:MI:SS’)
    ORDER BY t.FIRST_LOAD_TIME DESC

    展开全文
  • 查询过去一段时间内使用temp表空间大小需要查询V$ACTIVE_SESSION_HISTORY这个视图,SQL语句是: select SQL_ID, SQL_EXEC_S...

    查询过去一段时间内使用的temp表空间大小需要查询V$ACTIVE_SESSION_HISTORY这个视图,SQL语句是:

    select     SQL_ID,

               SQL_EXEC_START,

               PROGRAM,

               TEMP_SPACE_ALLOCATED/1024/1024/1024  from  V$ACTIVE_SESSION_HISTORY  where  sql_id='SQL语句的sql—id'  and rownum<10   order by 4;

    关于v$active_session_history的解释,大家可以根据自己的需求添加列。

    V$ACTIVE_SESSION_HISTORY 显示数据库中的采样会话活动。 它包含每秒执行一次的活动数据库会话的快照。 如果数据库会话在CPU上或正在等待不属于 Idle wait类 的事件,则认为该数据库会话是活动的 V$EVENT_NAME 有关等待类的更多信息, 请参阅 视图。

    此视图为每个样本的每个活动会话包含一行,并首先返回最新的会话样本行。 描述活动会话历史记录中的会话的大多数列都存在于 V$SESSION 视图中。

    数据类型 描述
    SAMPLE_ID NUMBER 样本的ID
    SAMPLE_TIME TIMESTAMP(3) 采集样品的时间
    IS_AWR_SAMPLE VARCHAR2(1) 指示此样本是否已刷新或将刷新到自动工作负载存储库( DBA_HIST_ACTIVE_SESS_HISTORY )( Y )或不是( N
    SESSION_ID NUMBER 会话标识;  映射到 V$SESSION.SID
    SESSION_SERIAL# NUMBER 会话序列号(用于唯一标识会话的对象);  映射到 V$SESSION.SERIAL#
    SESSION_TYPE VARCHAR2(10) 会话类型:
    • FOREGROUND

    • BACKGROUND

    FLAGS NUMBER 保留供将来使用
    USER_ID NUMBER Oracle用户标识符;  映射到 V$SESSION.USER#
    SQL_ID VARCHAR2(13) 在采样时会话正在执行的SQL语句的SQL标识符
    IS_SQLID_CURRENT VARCHAR2(1) 指示 SQL_ID 列中 的SQL标识符 是否正在执行( Y )或不 执行 N
    SQL_CHILD_NUMBER NUMBER 在采样时会话正在执行的SQL语句的子编号
    SQL_OPCODE NUMBER 指示SQL语句的操作阶段;  映射到 V$SESSION.COMMAND

    另请参阅:   “V $ SESSION” 以获取有关解释此列的信息

    SQL_OPNAME VARCHAR2(64) SQL命令名称
    FORCE_MATCHING_SIGNATURE NUMBER CURSOR_SHARING 参数设置 为时使用的签名 FORCE
    TOP_LEVEL_SQL_ID VARCHAR2(13) 顶级SQL语句的SQL标识符
    TOP_LEVEL_SQL_OPCODE NUMBER 指示顶级SQL语句所处的操作阶段
    SQL_PLAN_HASH_VALUE NUMBER 游标的SQL计划的数字表示。 此信息可能不适用于所有会话样本。 V$SESSION 不包含此信息。
    SQL_PLAN_LINE_ID NUMBER SQL计划行ID
    SQL_PLAN_OPERATION VARCHAR2(30) 计划操作名称
    SQL_PLAN_OPTIONS VARCHAR2(30) 计划操作选项
    SQL_EXEC_ID NUMBER SQL执行标识符
    SQL_EXEC_START DATE SQL执行开始的时间
    PLSQL_ENTRY_OBJECT_ID NUMBER 堆栈中最顶层PL / SQL子程序的对象ID;  如果堆栈上没有PL / SQL子程序,则为NULL。 映射到DBA_OBJECTS.OBJECT_ID。
    PLSQL_ENTRY_SUBPROGRAM_ID NUMBER 堆栈上最顶层PL / SQL子程序的子程序ID。 映射到DBA_OBJECTS.DATA_OBJECT_ID。
    PLSQL_OBJECT_ID NUMBER 当前正在执行的PL / SQL子程序的对象ID。 映射到DBA_OBJECTS.OBJECT_ID。
    PLSQL_SUBPROGRAM_ID NUMBER 当前正在执行的PL / SQL对象的子程序ID;  执行SQL时为NULL。 映射到DBA_OBJECTS.DATA_OBJECT_ID。
    QC_INSTANCE_ID NUMBER 查询协调器实例ID。 仅当采样会话是并行查询从站时,此信息才可用。 对于所有其他会话,值为
    QC_SESSION_ID NUMBER 查询协调器会话ID。 仅当采样会话是并行查询从站时,此信息才可用。 对于所有其他会话,值为
    QC_SESSION_SERIAL# NUMBER 查询协调器会话序列号。 仅当采样会话是并行查询从站时,此信息才可用。 对于所有其他会话,值为
    PX_FLAGS 脚1  NUMBER 保留供内部使用
    EVENT VARCHAR2(64) 如果 SESSION_STATE WAITING ,则表示会话在采样时等待的事件。

    如果 SESSION_STATE ON CPU ,则此列为NULL。

    另请参阅:   附录C,“Oracle等待事件”

    EVENT_ID NUMBER 会话正在等待或会话最后等待的资源或事件的标识符。 解释类似于 EVENT 专栏。
    EVENT# NUMBER 会话正在等待或会话上次等待的资源或事件的编号。 解释类似于 EVENT 专栏。
    SEQ# NUMBER 唯一标识等待的序列号(每个等待增加)
    P1TEXT VARCHAR2(64) 第一个附加参数的文本
    P1 NUMBER 第一个附加参数
    P2TEXT VARCHAR2(64) 第二个附加参数的文本
    P2 NUMBER 第二个附加参数
    P3TEXT VARCHAR2(64) 第三个附加参数的文本
    P3 NUMBER 第三个附加参数
    WAIT_CLASS VARCHAR2(64) 等待会话在采样时等待的事件的类名。 解释类似于 EVENT 专栏。 地图到 V$SESSION.WAIT_CLASS
    WAIT_CLASS_ID NUMBER 等待会话在采样时等待的事件的类标识符。 解释类似于 EVENT 专栏。 地图到 V$SESSION.WAIT_CLASS_ID
    WAIT_TIME NUMBER 会话上次等待的事件的总等待时间,如果会话在CPU上进行采样时;  如果会话在抽样时等待

    注意: 是否 WAIT_TIME SESSION_STATE 在采样时 找到它的有用信息 ,而不是 WAIT_TIME 它自身 的实际值 地图到 V$SESSION.WAIT_TIME

    SESSION_STATE VARCHAR2(7) 会话状态:
    • WAITING

    • ON CPU

    TIME_WAITED NUMBER 如果 SESSION_STATE WAITING ,那么会话实际花费在等待该事件的时间(以微秒为单位)。 此列设置为采样时正在进行的等待。

    如果等待事件持续超过一秒并且在多个会话样本行中等待,则等待该等待事件所花费的实际时间将填充在这些会话样本行的最后一行中。 在任何给定时间,此信息将不适用于最新的会话样本。

    BLOCKING_SESSION_STATUS VARCHAR2(11) 阻止会话的状态:
    • VALID

    • NO   HOLDER

    • GLOBAL

    • NOT IN WAIT

    • UNKNOWN

    BLOCKING_SESSION NUMBER 阻塞会话的会话标识符。 仅当阻止程序位于同一实例且会话正在等待队列或“缓冲区忙”等待时才填充。 地图到 V$SESSION.BLOCKING_SESSION
    BLOCKING_SESSION_SERIAL# NUMBER 阻止会话的序列号
    BLOCKING_INST_ID NUMBER 显示的阻止程序的实例编号  BLOCKING_SESSION
    BLOCKING_HANGCHAIN_INFO VARCHAR2(1) 指示有关的信息 BLOCKING_SESSION 是来自挂起链( Y )还是不来自( N
    CURRENT_OBJ# NUMBER 会话引用的对象的对象ID。 仅当会话正在等待应用程序,群集,并发和用户I / O等待事件时,此信息才可用。 地图到 V$SESSION.ROW_WAIT_OBJ#
    CURRENT_FILE# NUMBER 包含会话引用的块的文件的文件号。 仅当会话正在等待群集,并发和用户I / O等待事件时,此信息才可用。 地图到 V$SESSION.ROW_WAIT_FILE#
    CURRENT_BLOCK# NUMBER 会话引用的块的ID。 仅当会话正在等待群集,并发和用户I / O等待事件时,此信息才可用。 地图到 V$SESSION.ROW_WAIT_BLOCK#
    CURRENT_ROW# NUMBER 会话引用的行标识符。 仅当会话正在等待群集,并发和用户I / O等待事件时,此信息才可用。 地图到 V$SESSION.ROW_WAIT_ROW#
    TOP_LEVEL_CALL# NUMBER Oracle顶级电话号码
    TOP_LEVEL_CALL_NAME VARCHAR2(64) Oracle顶级呼叫名称
    CONSUMER_GROUP_ID NUMBER 消费者组ID
    XID RAW(8) 会话在采样时正在处理的事务ID。 V$SESSION 不包含此信息。
    REMOTE_INSTANCE# NUMBER 远程实例标识符,用于为此会话等待的块提供服务。 此信息仅在会话等待群集事件时可用。
    TIME_MODEL NUMBER 时间模型信息
    IN_CONNECTION_MGMT VARCHAR2(1) 指示会话在采样时是否正在进行连接管理( Y )或不是( N
    IN_PARSE VARCHAR2(1) 指示会话在采样时是否正在解析( Y )或不是( N
    IN_HARD_PARSE VARCHAR2(1) 指示在sampling( Y )或不是( N 时会话是否难以解析
    IN_SQL_EXECUTION VARCHAR2(1) 指示会话是否在sampling( Y )或不 执行时执行SQL语句 N
    IN_PLSQL_EXECUTION VARCHAR2(1) 指示会话是否在sampling( Y )或不 执行时执行PL / SQL  N
    IN_PLSQL_RPC VARCHAR2(1) 指示会话是否在sampling( Y )或不 执行时执行入站PL / SQL RPC调用 N
    IN_PLSQL_COMPILATION VARCHAR2(1) 指示会话是在编译时是否正在编译PL / SQL( Y )或不是( N
    IN_JAVA_EXECUTION VARCHAR2(1) 指示会话是否在sampling( Y )或不 执行时执行Java  N
    IN_BIND VARCHAR2(1) 指示会话是否在sampling( Y )或不 执行时执行绑定操作 N
    IN_CURSOR_CLOSE VARCHAR2(1) 指示会话是否在sampling( Y )或不是( N 时关闭游标
    IN_SEQUENCE_LOAD VARCHAR2(1) 指示会话是按顺序加载(按顺序加载代码)( Y )还是不 加载 N
    CAPTURE_OVERHEAD VARCHAR2(1) 指示会话是否正在执行捕获代码( Y )或不 执行 N
    REPLAY_OVERHEAD VARCHAR2(1) 指示会话是否正在执行重放代码( Y )或不 执行 N
    IS_CAPTURED VARCHAR2(1) 指示是否正在捕获会话( Y )或不 捕获 N
    IS_REPLAYED VARCHAR2(1) 指示会话是否正在重播( Y )或不 重播 N
    SERVICE_HASH NUMBER 标识服务的哈希值;  映射到 V$ACTIVE_SERVICES.NAME_HASH
    PROGRAM VARCHAR2(48) 操作系统程序的名称
    MODULE 脚2  VARCHAR2(48) 采样时执行模块的名称,由 DBMS_APPLICATION_INFO.SET_MODULE 过程 设置
    ACTION Footref 2 VARCHAR2(32) 采样时执行模块的名称,由 DBMS_APPLICATION_INFO.SET_ACTION 过程 设置
    CLIENT_ID VARCHAR2(64) 会话的客户标识符;  映射到 V$SESSION.CLIENT_IDENTIFIER
    MACHINE VARCHAR2(64) 客户端的操作系统机器名称
    PORT NUMBER 客户端端口号
    ECID VARCHAR2(64) 执行上下文标识符(由Application Server发送)
    DBREPLAY_FILE_ID Footref 1 NUMBER 如果正在捕获或重放会话,那么 DBREPLAY_FILE_ID 是工作负载捕获或工作负载重放的文件ID;  否则它是NULL。
    DBREPLAY_CALL_COUNTER Footref 1 NUMBER 如果正在捕获或重放会话,则是正在捕获或重放 DBREPLAY_CALL_COUNTER 的用户呼叫的呼叫计数器;  否则它是NULL。
    TM_DELTA_TIME NUMBER 在其时间间隔(以微秒计) TM_DELTA_CPU_TIME TM_DELTA_DB_TIME 被累积
    TM_DELTA_CPU_TIME NUMBER 此会话在过去 TM_DELTA_TIME 几微秒内 花在CPU上的时间
    TM_DELTA_DB_TIME NUMBER 此会话在过去 TM_DELTA_TIME 几微秒内在 数据库调用中花费的时间
    DELTA_TIME NUMBER 自上次采样或创建会话以来的时间间隔(以微秒为单位),累计接下来的五个统计信息
    DELTA_READ_IO_REQUESTS NUMBER 此会话在过去 DELTA_TIME 几微秒内 发出的读取I / O请求数
    DELTA_WRITE_IO_REQUESTS NUMBER 此会话在过去 DELTA_TIME 几微秒内 发出的写入I / O请求数
    DELTA_READ_IO_BYTES NUMBER 此会话在过去 DELTA_TIME 几微秒内 读取的I / O字节数
    DELTA_WRITE_IO_BYTES NUMBER 此会话在过去 DELTA_TIME 几微秒内 写入的I / O字节数
    DELTA_INTERCONNECT_IO_BYTES NUMBER 在过去 DELTA_TIME 几微秒 内通过I / O互连发送的I / O字节数
    PGA_ALLOCATED NUMBER 此示例拍摄时此会话占用的PGA内存量(以字节为单位)
    TEMP_SPACE_ALLOCATED NUMBER 拍摄此样本时此会话消耗的TEMP内存量(以字节为单位)


    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31547066/viewspace-2286075/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/31547066/viewspace-2286075/

    展开全文
  • SQL查询数据库一段时间内的数据

    千次阅读 2020-06-15 17:01:22
    只需传入选中的时间 2019-1-1 2020-1-1 select * from har <![CDATA[AND samplTime >= CONCAT(#{sampletimeBegin},' 00:00:00')]]> <![CDATA[AND samplTime <= CONCAT(#{sampletimeEnd},' 23:59...

    只需传入选中的时间 2019-1-1 2020-1-1

    select
    *
    from
    har


    <![CDATA[AND samplTime >= CONCAT(#{sampletimeBegin},' 00:00:00')]]>


    <![CDATA[AND samplTime <= CONCAT(#{sampletimeEnd},' 23:59:59')]]>


    展开全文
  • 在做某个项目时候,由于需要进行起始时间和结束时间这个时间段进行查询,当时也是查阅了很久,特记录笔记,方便日后查询 单表: 1.SELECT name,create_time FROM user_info WHERE create_time BETWEEN DATE('...
  • SQL语句实现查询一段时间内的数据中要注意的细节问题细节问题很重要,不注意数据一直对不上例如:timeSql=” and corder.end_time >= ‘”+startTime+” 00:00:00’ and corder.end_time ‘”+endTime; 上面这句是...
  • 我们经常碰到需要查询时间段内的数据,以下函数能有所有帮助, 有了这个table后可以将需要分段查询的数据left join 关联该表, 然后就可以分组求和了,具体如何使用得看大家的情景 将天的时间进行时间段分隔,...
  • sql中要查询一时间范围每个小时最新一条数据,我使用了datediff函数是能查询出来了,可是一碰到数据量大一些就很慢,我在time字段上建立索引也没用作用,求助大佬告知这代码怎么性能优化,感谢
  • 一段时间内统计分析数据查询sql实现 最近在做一个关于统计分析的功能,需求是将最近一周的数据统计出来并使用折线图展示。 1. 循环计算一周之内的日期 最先想到就是这种方法,但是这种方法查询数据库次数多,效率...
  • pgsql查询一段时间内每个小时首条数据,为空返回0
  • sql查询一段日期内的某个时间段的数据量 例如:想查询BOOK_DATE在2010-06-01到2010-08-01之间的13点到15点之间的数据    select * from tb where convert(varchar(10),BOOK_DATE,120)  between '2010-...
  • 想统计出 2017-02-17 10:00:00到2017-02-17 10:45:33这段时间内,每隔五分钟数据量 结果如: 2017-02-17 10:05:00 1 2017-02-17 10:10:00 1 2017-02-17 10:15:00 2 2017-02-17 10:20:00 2 2017-02-17 10:25:00 3 ...
  • ( to_char(t.TUIJIAN_TIME, 'yyyy-MM-dd') between #{begin_time} and #{end_time} ) 转载于:https://www.cnblogs.com/qxqbk/p/7117610.html
  • 一、问题描述: 一条订单记录中有用车起始时间,现在需要查询一段时间内,每天具体有几个订单。如:一个订单用车时间为10月1号至10月5号,此时需查询出5条记录: 二、解决方案:步骤 建表sql drop table if ...
  • startDT endDT startDate 2012-02-06 12:00:00.000 2012-02-06 13:00:00.000 2012-02-06 2012-02-06 13:00:00.000 2012-02-06 14:00:00.000 2012-02-06 ...如何查询在这天中缺少哪个小时数据?谢谢了!
  • begintime是开始时间,endtime是结束时间。**这两个是条件**。 想要实现,这两个条件有值,或者其中个条件有值就按条件查询, 没有条件就查询全部。...求sql语句怎么写,用的sqlserver
  • 比如2012-2-1 00:00:00 到时2012-2-30 00:00:00
  • select level,to_char(to_date('2019-07-01','yyyy-mm-dd')+level-1,'yyyy-mm-dd') as abnormal_date from dual connect by level <=to_date('2019-08-01','yyyy-mm-dd')-to_date('2019-07-01','yyyy-mm-dd')+1 ...
  • 查询一段时间内每天数据,按天将数据封装进行封存,同一天数据封装成list,如何实现呢? 抽象成一对多关系,即同一天对应多条数据,同一天必须保证是同一条数据。 SELECT a.`id` , a.`duty_date`, b...
  • select hd.* from ( select selected_date from (select adddate('2020-12-05', t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) selected_date from (select 0 i union select 1 union select 2 union select 3 union ...
  • 弄了个小时查找,对时间日期的查询,虽然用BETWEEN AND 但总不能找到当日的时间,后来发现是日期后面还带有好多"小弟弟",晕到!看T-SQL ,MSDN,总找到个比较好的查询方法,现贴出来让大家鄙视一下,有好方法也...
  • 各位前辈,小弟才学数据库,我有个smalldatetime字段PeisOrgReservation我想查询时间段的数据 Select * from PeisOrgReservation where DateReservation>'2013-1-1' and DateReservation<'20013-12-...
  • sql获取一段时间内的数据

    千次阅读 2018-01-25 13:48:04
    SELECT * FROM 表名 WHERE timestampdiff(MINUTE, SYSDATE(), send_time) &lt;=60 AND timestampdiff(MINUTE, SYSDATE(), send_time) &gt;= 0 以上的sql查询这个表中...
  • 1.如果是固定的一段时间,可以建一张表,把这些时间维护进去。再关联查询。 2.如果是不固定时间段,需要再业务层进行处理,补齐空缺时间段。 ...
  • SELECT t1.added_at,t2.sku,COUNT(t1.product_id) as total_views FROM report_viewed_product_index AS t1 LEFT JOIN catalog_product_entity AS t2 ON t2.entity_id=t1.product_id WHERE t2.sku IN('Co-AP2013WH'

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 880
精华内容 352
关键字:

查询一段时间内的sql