问题是以下查询(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字符串。 查询执行会花费太多时间(永远不要等到执行结束)。
任何想法为何?以及如何纠正正则表达式以免卡住更新查询?