On Fri, Aug 20, 2021 at 12:32 PM Mark Dilger <mark.dil...@enterprisedb.com>
wrote:

>
> The following queries take radically different time to run:
>

Unbounded ranges seem like a problem. Seems worth trying a range from 1 to
N where you play around with N to find your optimum
performance/functionality tradeoff. {1,20} is like '+' but clamps at 20.

select regexp_replace(
  repeat('someone,one,one,one,one,one,one,', 60),
  '(?<=^|,)([^,]+)(?:,\1){1,20}(?=$|,)',
  '\1', -- replacement
  'g'  -- apply globally (all matches)
);
- Miles Elam

Reply via email to