CVars-Lösch-Queries deutlich effizienter gestaltet
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 28 Nov 2014 11:53:46 +0000 (12:53 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 28 Nov 2014 11:53:46 +0000 (12:53 +0100)
commitcf2637263435860d7ef0fd5f5d408dc8ee1366cd
tree6e2115b0a1f54721f2410b4d7281704963f81789
parentb3a1f678f8740a4628bb2cf2ff388c08868c2392
CVars-Lösch-Queries deutlich effizienter gestaltet

PostgreSQL kann Queries à la »DELETE … WHERE … IN (SELECT…)« nicht gut
optimieren und erzeugt dafür exponentielle Laufzeit. Viel schneller ist,
eine Vorselektierung mit normalen JOINs zu nutzen und nachher beim
DELETE ein WHERE EXIST (…) mit Bezug auf die zu löschende Tabelle
einzusetzen.
sql/Pg-upgrade2/delete_cvars_on_trans_deletion.sql