From b204dbef8dd4ce8fc0611259e2935f6cb91e5e25 Mon Sep 17 00:00:00 2001
From: Andreas Romeyke <andreas.romeyke@slub-dresden.de>
Date: Mon, 22 Apr 2024 09:03:34 +0200
Subject: [PATCH] - improved SQL using view to speedup query to "real time".

---
 .../finde_lzaid_dubletten_exkl_gel\303\266scht.sh" | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git "a/analysis/finde_lzaid_dubletten_exkl_gel\303\266scht.sh" "b/analysis/finde_lzaid_dubletten_exkl_gel\303\266scht.sh"
index 331a09f..2981ced 100644
--- "a/analysis/finde_lzaid_dubletten_exkl_gel\303\266scht.sh"
+++ "b/analysis/finde_lzaid_dubletten_exkl_gel\303\266scht.sh"
@@ -1,15 +1,18 @@
 #!bin/bash
 
 sql1=$(cat <<'SQL1'
-SELECT ie_id,lza_id,version,dir_path FROM aip where lza_id in (
+CREATE TEMP VIEW nondeleted (id,ie_id,lza_id,version,dir_path) AS
+  SELECT * FROM aip WHERE aip.id NOT IN (
+    SELECT aip_id FROM deleted
+  )
+;
+SELECT ie_id,lza_id,version,dir_path FROM nondeleted where lza_id in (
   SELECT lza_id FROM (
     SELECT lza_id, COUNT(*) AS anzahl_ie_pids
     FROM (
       SELECT ie_id, lza_id, COUNT(*) as versionen
-      FROM aip
+      FROM nondeleted
       GROUP BY ie_id, lza_id
-    ) WHERE aip.id NOT IN (
-      SELECT aip_id FROM deleted
     )
     GROUP BY lza_id
     HAVING anzahl_ie_pids > 1
@@ -19,3 +22,6 @@ SQL1
 )
 
 echo "${sql1}" | sqlite3 "$1" 
+
+#CREATE INDEX aip_idx_38e01099 ON aip(ie_id, lza_id);
+#CREATE INDEX aip_idx_006ebc63 ON aip(lza_id);
-- 
GitLab