2015-09-28 61 views

回答

1

當它們仍在運行時,識別此類查詢的最佳方式是將SYS與Kognitio Console連接並使用工具|確定問題查詢。這會針對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其中command IMATCHING「創建視圖圖像」 AND TOTAL_TIME> 300000"

如果它是目前運行命令可以查看SYS.IPE_CURTRANS並加入到IPE_TRANSACTION中查找事務的開始時間(假設您的CVI在自己的事務中運行 - 否則,您需要查看IPE_COMMAND以查找此TNO中的最後一條語句完成並將其用作開始時間)

+0

Mark,我想查找運行時間超過5分鐘的視圖圖像語句。有沒有辦法釘這個? – SriniV

+0

如果是歷史視圖圖像命令,則可以查詢「... SYS.IPE_COMMAND WHERE COMMAND IMATCHING'創建視圖圖像'和TOTAL_TIME> 300000」。如果是用於當前正在運行的命令,則可以查看SYS.IPE_CURTRANS並加入到IPE_TRANSACTION中以查找事務的開始時間(假設您的CVI在自己的事務中運行 - 如果沒有,則需要查看IPE_COMMAND以查找本TNO的最後聲明完成並將其用作開始時間)。 – mc110