我只是好奇。我试图用函数优化update语句
例如
update circle set area = fnGetArea(radius) where ...<bunch of conditions>这个更新持续了5-10分钟,当我删除fnGetArea时,它运行了5-10秒!
怎么会发生的.?
我想搜索它,但我不知道该输入什么。
请指点我!
提前感谢
发布于 2015-02-03 08:01:46
在回答我自己的问题时,我找到了此链接,其中包含了答案:
...by在您的更新中将这个函数作为一个函数,实际上,您调用该函数的次数与表中的行数一样多。这不是最好的方法,它被称为逐行处理,而不是基于设置的处理。尝试使用函数所做的处理,并在一次执行中将其应用到表中,而不是采用这种一时间一次的方法。
https://dba.stackexchange.com/questions/90880
复制相似问题