XQuery performance问题

来源:互联网 发布:宁波花溢网络科技集团 编辑:程序博客网 时间:2024/04/29 23:01
这两个星期一直在研究客户报的XQuery的性能问题。客户的XQuery语句有好几百行,包括了很多自定义函数,还引用了两个XQuery module,在以前的版本上1秒钟左右就出结果了,现在的版本需要3~4分钟。首先分析执行计划,NND,在以前的版本上取执行执行计划的时候居然报错,改了代码之后才好了。比较一看,执行计划一样,该用的索引都用到了。
这可麻烦了?问题在哪儿呢?
接着使用profile工具,看看有什么bottleneck,看了之后也没有明显的十分耗时的操作呀。
而且因为代码改动比较多,和以前的版本也没有什么可比性。
难道现在的版本performance普遍降低了?要求QA跑跑XQuery的benchmark,结果还是可以的。看来benchmark的覆盖面没有覆盖到这类的case。
没办法只能一步步debug了。美国那边的Jim老哥也在帮我一道看。
哇赛,原来现在回来的结果也和以前的版本不一样呀。group出来的数值不一样。debug,narrow down,debug,narrow down。。。哦,原来是从索引里面取数据的有问题呀。给索引提供一个clone,OK,终于好了,可是response time更差了
继续,继续,哦,原来有好多重复操作嘛,明明一个variable对应的sequence的node已经取出来了,怎么后来又去取了?那就给它cache起来吧。代码总共改了没几行。哇,真的快多了,居然一秒都不要呀。搞定!
原创粉丝点击