如何在WX2中查找资源密集且耗时的查询?

时间:2015-09-28 06:20:10

标签: kognitio-wx2 kognitio wx2

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

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

1 个答案:

答案 0 :(得分: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汇总上述信息

如果是评论中提到的历史视图图像命令,则可以查询

... SYS.IPE_COMMAND WHERE命令IMATCHING'创建视图图像'AND TOTAL_TIME> 300000"

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