2

ID値に基づいて大量のデータを削除する必要があります。どれが最速ですか:

DELETE FROM myTable WHERE id = '10' OR id = '20' OR id = '43' OR id = '54' .......

また

DELETE FROM myTable WHERE id = '10'; DELETE FROM myTable WHERE id = '20'; ........

別の解決策がある場合は、遠慮なく教えてください。

(ここのIDは主キーでも索引付けされたものでもなく、単語を参照するため外部キーであり、このデータベースでは1つの単語に対して複数のエントリを持つことができます)

MySQL を使用していますが、クエリを他の RDBMS に適用できるようにしたいです

4

2 に答える 2

5

最初のものはより高速ですが、同じパフォーマンスでINこのような演算子をもっと使用したいと思いますreadability

DELETE FROM myTable WHERE id in ('10','20','30',...)
于 2013-04-07T09:58:28.480 に答える
0

最初のものはより速いはずです、

クエリ オプティマイザーの出力に関しては、一連のステートメントよりも 1 つのステートメントの方が優れています。

于 2013-04-07T10:03:14.380 に答える