[dak/master] update-external-files: modify query to be faster
The previous query was way too slow; PostgreSQL seems to be happier
with this.
---
scripts/debian/update-external-files | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/debian/update-external-files b/scripts/debian/update-external-files
index 8ae7f13e..4a2b86ea 100755
--- a/scripts/debian/update-external-files
+++ b/scripts/debian/update-external-files
@@ -44,6 +44,6 @@ fi
/usr/bin/psql -1 -d obscurity -c '
CREATE TEMPORARY TABLE external_files_tmp AS SELECT * FROM external_files WITH NO DATA;
COPY external_files_tmp (id, filename, size, md5sum, last_used, sha1sum, sha256sum, created, modified) FROM STDIN;
- DELETE FROM external_files WHERE id NOT IN (SELECT id FROM external_files_tmp);
- INSERT INTO external_files SELECT * FROM external_files_tmp WHERE id NOT IN (SELECT id FROM external_files);
+ DELETE FROM external_files ef WHERE NOT EXISTS (SELECT 1 FROM external_files_tmp tmp WHERE tmp.id = ef.id);
+ INSERT INTO external_files SELECT * FROM external_files_tmp tmp WHERE NOT EXISTS (SELECT 1 FROM external_files ef WHERE ef.id = tmp.id);
'
--
2.11.0
Reply to: