UPDATE查询卡在执行regexp_replace函数

时间:2018-12-26 13:40:53

标签: sql regex postgresql

问题是以下查询(postgresql)卡住了:

update TableFoo
set myField =  regexp_replace (myField,'\d{5,15}\.\d{2}',
    ((random()*(100000000000-10000000))::numeric(15,2))::text,'g')
where myField is not null; 

遇到这样的数字时:

81616776.79999999701976776123046875

在myField中。 myField是一个10k-100k字符的Yaml字符串。 查询执行会花费太多时间(永远不要等到执行结束)。

任何想法为何?以及如何纠正正则表达式以免卡住更新查询?

0 个答案:

没有答案