Как оптимизировать производительность regexp_replace для нескольких подстрок в PostgreSQL - PullRequest
0 голосов
/ 27 апреля 2018

Мне нужно удалить несколько подстрок из столбца строк. У меня есть ~ 200 тыс. Строк, а также большой пакет пользовательских "стоп-слов".

В частности, у меня есть таблица (NameTable) со столбцом Names, полным строк из нескольких слов. Лишь небольшое подмножество слов в каждой строке относится к тому, что я делаю дальше. names имеет индекс trigram/GIN. Есть ли способ ускорить запрос, подобный следующему, но с гораздо большей строкой целевых слов? Я использую PG10.

...

Create Index Names_trgm on NameTable using gin(Name gin_trgm_ops);

Update NameTable
   set CleanedName = regexp_replace(Name, '( fuzzy| wuzzy| was| a | bear | the |
first| time | yossarian| saw | the | chaplain | he | fell| madly| in | love|
with| him)',' ','g');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...