B(Da, Db)Вероятно, индекс должен исправить любые проблемы с производительностью.
Однако ваш запрос неверен. При использовании DISTINCT ONвам необходимо ORDER BY:
INSERT INTO A (Da,Db)
SELECT DISTINCT ON (Da) Da, Db
FROM B
ORDER BY Da, Db
ON CONFLICT (Da) DO UPDATE SET Db = excluded.Db;