Hallo,
a) dem DBMS eine Reihe von "DELETE"-Anweisungen in Form von:
DELETE FROM x WHERE y = 1;
DELETE FROM x WHERE y = 3;
DELETE FROM x WHERE y = 4;
usw.zum batch verarbeiten zu übergeben, oder
dürfte die schlechteste Performance bringen. Lässt sich nur mit Prepared Statements beschleunigen.
b) dem Datenbanksystem EINE Anweisung á la:
DELETE FROM x WHERE y = 1 OR y = 3 OR y = 4...usw.oder vielleicht:
c) DELETE FROM x WHERE y IN (1, 3, 4, ...usw.)
Was ist "geschickter" oder wird das System sowas bemerken und es intern sowieso identisch behandeln?
a) im Gegensatz zu b) und c): nein, das kann das System nicht bemerken.
Befrage Dein DBMS, was es damit macht. Es gibt sowas wie Ausführungspläne, andere SQL-Dialekte kennen EXPLAIN ...
Optimierung von SQL-Statements ist extrem DBMS-abhängig und kann zudem von den vorhandenen Daten und dem DB-Design abhängen.
Freundliche Grüße
Vinzenz