Как обновить данные таблицы условно?

Я пытаюсь обновить таблицу A с двумя значениями данных из таблицы B (каждый день в день дня) Каждый день B имеет миллионы количества данных уровней. Структура таблиц A и B является

A  -----Da   primary key  
   -----Db
B  -----Da  (table may have many Da data)
   -----Db
   -----....

Теперь мой SQL:

INSERT INTO A (Da,Db)
    SELECT DISTINCT on(Da)Da,Db
    FROM B
    ON conflict(Da) DO UPDATE SET Db = excluded.Db

Но это неэффективно, я думаю, что если вы сделаете суждение (ничего не делайте, если A.Db = B.Db), прежде чем UPDATE улучшит эффективность, потому что A.Db = B.Db в большинстве случаев (около девяноста восьми процентов). как написать код - проблема для меня (я не слишком хорошо знаком с SQL) .. Просил вас великого бога и противно! !

sql,postgresql,

0
Яндекс.Метрика