сообщений. С помощью регулярок в этой таблице маркируются нужные строки. Подскажите пожалуйста как можно ускорить выполнение этого процесса? Подозреваю, что нужно создать индекс для текстового поля. Я работал только с b-tree индексами и думаю он тут не подойдет. Какой будет максимально эффективным?
с выборкой регулярками индекс не поможет
неужели никак не ускорить?
я думаю что нет. если только на партиции побить и по одной партии апдейты гонять. экономия будет только за счет меньшего объема данных, но это такое себе скажем так
Возможно поможет триграмный поиск
скорее всего для моей задачи это не подойдет. Есть четко установленные текстовые шаблоны, которые должны использоваться при переписке и именно их нужно найти в тексте, проблема в том, что этот текстовый шаблон может встречаться как в начале строки, так и в середине или конце
Если вам нужно один раз пройтись и разметить - можно выгрузить данные, разметить и потом загрузить.
Шаблоны могут менятся и новые данные в таблицу попадают каждый час, на ее основе строится дашборд в Power BI
Новые данные - вы их можете эффективно выудить, не приводя к full table scan?
Не хотите пометить их прямо на входе?
не думал об этом, я в первую очередь подумал об индексах и нагуглил про gin
На уровне приложения, в зависимости от попадания шаблона менять значение целочисленного индексируемого поля. По нему и искать
Хм... триггер на вставку?
дело оказалось не в регулярке. При просмотре плана выполнения видно, что стоимость запроса очень высокая. В запросе просто выполнил SELECT * FROM table WHERE id >= 123
Обсуждают сегодня