sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2008 から大量のデータを削除する

    あなたの質問は非常に漠然としていますが、私はあなたがこれを言っていると思います:

    • データベースにデータを挿入できます
    • 自分のデータを更新するのは難しそうなので、DELETE してから INSERT をやり直したいと思います (そのコードは既に書いているため)

    以下の理由から、これは悪い考えだと思います (そして、間違いなくもっと多くの理由があります):

    • 削除するだけでも、削除する正しい行を特定したり、テーブルから正しい順序で削除したりする必要があります。したがって、とにかく多くの時間を節約できる可能性は低いです
    • トランザクション処理、維持する追加コード、権限の変更など、不要な複雑さと余分なメンテナンス作業をアプリケーションに追加します。
    • トリガーやプロシージャの形でサーバー側のロジックをデータベースに追加することは、より困難になります。これは、DELETE が必ずしも実際に DELETE を意味するわけではなく、UPDATE の開始を意味する可能性があるためです (論理的には、そうではありません)。これは、DML アクションまたはイベントに基づくコード、トレース、または監査を壊す可能性があるだけでなく、維持するのが非常に面倒です
    • 1 つの操作を 2 つに分割したため、データベースはさらにログを記録する必要があります

    おそらく、UPDATE を回避したい正当な理由があるかもしれませんが、「書くのが難しい」などはその理由の 1 つであってはなりません (状況を単純化しすぎている場合は申し訳ありません)。

    何が「難しい」かを正確に説明し、「大量のデータ」が何を意味するかについて背景を説明し、問題を説明するテーブル構造とコードを示すなどすると、より有用な回答が得られる可能性があります。




    1. 関数内のmysqli/mysqlクエリが機能しない

    2. Doctrine2のGIS拡張

    3. PostgreSQLラウンド(v数値、s int)

    4. MySQL:好きではない