Postgres Query Optimization-Update Query - PullRequest
       14

Postgres Query Optimization-Update Query

0 голосов
/ 20 сентября 2019

У меня ниже двух запросов, что занимает много времени, когда в БД много записей, например 2000000. Значение столбца в предложении «Где» в обоих запросах является динамическим.Может кто-нибудь предложить мне оптимизировать их лучше?

UPDATE demo.document_details
SET has_dc = 'Y', l3_validation = 'Y',
    validation_remark = CONCAT(validation_remark,
                               'Deliverychallan also available against this document (Alert)<br>'),
    fu_5 = CASE WHEN fu_5 = 'Success'
                THEN 'Alert'
                ELSE fu_5
           END
WHERE document_no = '123'
  AND document_date = '2018-09-05'
  AND user_gstin = 'gstinid'
  AND document_type != 'DELIVERY CHALLAN'
  AND has_dc IS NULL;

UPDATE demo.document_details
SET is_exclude = 'Y',
    l3_validation = 'Y',
    validation_remark = CONCAT(validation_remark,
                               'Cancelled document (Alert)<br>'),
    exclude_reason = 'Cancelled document',
    fu_5 = CASE WHEN fu_5 = 'Success'
                THEN 'Alert'
                ELSE fu_5
           END
WHERE id IN (1, 2, 3);
...