【问题标题】:How to find resource intensive and time consuming queries in WX2?如何在 WX2 中查找资源密集型和耗时的查询?
【发布时间】:2015-09-28 06:20:09
【问题描述】:

有没有办法在 WX2 中找到资源密集型和耗时的查询?

我尝试检查SYS.IPE_COMMANDSYS.IPE_TRANSACTION 表但没有任何帮助。

【问题讨论】:

    标签: kognitio-wx2 kognitio wx2


    【解决方案1】:

    在此类查询仍在运行时识别它们的最佳方法是以 SYS 身份与 Kognitio 控制台连接并使用工具 |识别问题查询。这会针对 Kognitio 虚拟表运行大量查询,以了解当前查询已经运行了多长时间、它们使用了多少 RAM 等。最密集的查询位于列表顶部,按最后一列“相对严重性”排名”。

    对于过去运行的查询,您可以查看 IPE_COMMAND 以查看持续时间,但仅适用于非 SELECT 查询 - 这是因为 SELECT 查询默认只记录 DECLARE CURSOR 语句,它基本上只是测量编译时间而不是运行时间。要查看 SELECT 查询的详细信息,您应该加入 IPE_TRANSACTION 以查找事务的开始和结束时间。

    对于非 SELECT 查询,IPE_COMMAND 包含在多个列中所用时间的细分(所有时间以毫秒为单位):

    • SM_TIME 显示编译时间
    • TM_TIME 显示解释器时间
    • QUEUE_TIME 显示查询排队的时间
    • TOTAL_TIME 汇总了上述信息

    如果是cmets中提到的历史查看图片命令,可以查询

    ... SYS.IPE_COMMAND WHERE COMMAND IMATCHING 'create view image' AND TOTAL_TIME > 300000"

    如果是针对当前正在运行的命令,您可以查看 SYS.IPE_CURTRANS 并加入 IPE_TRANSACTION 以查找事务的开始时间(假设您的 CVI 在其自己的事务中运行 - 如果不是,则需要查看 IPE_COMMAND 以查找此 TNO 中的最后一条语句何时完成并将其用作开始时间)

    【讨论】:

    • 马克,我要查找运行时间超过 5 分钟的视图图像语句。有没有办法解决这个问题?
    • 如果是历史视图图像命令,您可以查询“... SYS.IPE_COMMAND WHERE COMMAND IMATCHING 'create view image' AND TOTAL_TIME > 300000”。如果是针对当前正在运行的命令,您可以查看 SYS.IPE_CURTRANS 并加入 IPE_TRANSACTION 以查找事务的开始时间(假设您的 CVI 在其自己的事务中运行 - 如果不是,您将需要查看 IPE_COMMAND 以查找何时此 TNO 中的最后一条语句已完成并将其用作开始时间)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多