DB2 SQL语句仅在BEGIN END块内运行超慢

时间:2018-09-07 09:02:53

标签: sql performance db2 query-optimization

我有一个很大的SQL脚本,其中包含一个BEGIN-END块,该块包含在重建中 问题是当我分别运行每个语句时,这些语句运行正常 但是,当我将语句放入块中时,性能变得非常糟糕(从约100万行读/秒到1000行读/秒)

我的方块看起来像这样:

merged.data <- merge (txt1, txt2)

Error in as.data.frame.default(x) : 
cannot coerce class ‘c("xml_document", "xml_node")’ to a data.frame

运行缓慢的语句是while循环中的JOIN。 当我剪切此语句并将第一个JOIN放在BEGIN-END之外时,一切运行正常

BEGIN
  DECLARE i BIGINT;
  --some JOIN/UPDATE statements
  --count lines
  WHILE(lines>0) DO
    --some joins that rebuild a hierarchy
    --count lines again
  END WHILE
END

以上陈述表现良好 我只想知道为什么拔出该块的那些JOIN / UPDATE语句会影响这样的性能?

谢谢

0 个答案:

没有答案