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