Wenn ich eine Liste mit IDs (1,4,6,7) und eine DB-Tabelle habe, in der ich alle Datensätze löschen möchte, in denen sich die ID in dieser Liste befindet, wie geht das?
sql
database-design
Leora
quelle
quelle
quelle
Die richtige Antwort lautet, dass die Geschwindigkeit von den Merkmalen der jeweiligen Implementierung / Engine abhängt, die Sie verwenden, und dass Sie sich vor Quacksalbern hüten sollten, die vorgeben, eine eindeutige Antwort auf diese Frage geben zu können.
Wenn der Optimierer Ihres Systems so schlecht ist, dass er die Optimierungsmöglichkeit von 'WHERE id IN (...)' nicht erkennt, führt er einen Tabellenscan durch, der viel langsamer sein kann als das Ausgeben von 4 separaten Löschbefehlen.
quelle