Re: Most efficient way to insert without duplicates - Mailing list pgsql-general

From Chris Curvey
Subject Re: Most efficient way to insert without duplicates
Date
Msg-id CADfwSsDL8a7M-4G+=M85nSjvJODkpN+fAcMFeFNW4bsxjZ_gFg@mail.gmail.com
Whole thread Raw
In response to Most efficient way to insert without duplicates  (François Beausoleil <francois@teksol.info>)
List pgsql-general

INSERT INTO persona_followers(service_id, follower_id, valid_at)
  SELECT service_id, follower_id, NOW()
  FROM (SELECT DISTINCT service_id, follower_id FROM import) AS import
  WHERE NOT EXISTS(SELECT * FROM persona_followers WHERE import.service_id = persona_followers.service_id AND import.follower_id = persona_followers.follower_id);


I'm wondering if you have an unneeded level of nesting. (I don't know if it would make any difference, but it might).

INSERT INTO persona_followers(service_id, follower_id, valid_at)
SELECT DISTINCT service_id, follower_id, now()
FROM import
WHERE NOT EXISTS(SELECT * FROM persona_followers WHERE import.service_id = persona_followers.service_id AND import.follower_id = persona_followers.follower_id);

pgsql-general by date:

Previous
From: Albe Laurenz
Date:
Subject: Re: How large can a PostgreSQL database get?
Next
From: Philipp Kraus
Date:
Subject: Re: dataset lock