stackoverflow.com/questions/49942061/...

аю проблемы с производительностью на PostgreSQL, и у меня есть следующая таблица:

 CREATE TABLE main_transaction (
   id integer NOT NULL DEFAULT nextval('main_transaction_id_seq'::regclass),
   description character varying(255) NOT NULL,
   request_no character varying(18),
   account character varying(50),
   ....
 )

Выше таблицы имеет 34 столбца, включая 3FOREIGN KEYс и он имеет более 1 миллиона строк данных. У меня есть следующие условныеSELECT запрос:

SELECT * FROM main_transaction
WHERE upper(request_no) LIKE upper(concat('%','20080417-0258-0697','%'))

Возвращение результата в течение 2 секунд. Я хочу уменьшить рабочее время с помощью индексации таблиц. До сих пор я использовалbtree индексации. Однако я не заметил быстрого результата. У меня вопрос, как я могу улучшить производительность для вышеупомянутого запроса?

Ответы на вопрос(1)

Ваш ответ на вопрос