1
削除と切り捨て
コマンドDELETEとTRUNCATEコマンドの違いをより深く理解しようとしています。内部についての私の理解は、次のようなものに沿っています。 DELETE->データベースエンジンは、関連するデータページおよび行が入力されているすべてのインデックスページから行を見つけて削除します。したがって、インデックスが多いほど、削除に時間がかかります。 TRUNCATE ->すべてのテーブルのデータページをまとめて削除するだけで、テーブルの内容を削除するためのより効率的なオプションになります。 上記が正しいと仮定します(正しくない場合は修正してください): さまざまな回復モードが各ステートメントにどのように影響しますか?なんらかの効果がある場合 削除するとき、すべてのインデックスがスキャンされますか、それとも行があるインデックスのみがスキャンされますか?私はすべてのインデックスがスキャンされていると仮定します(シークされませんか?) コマンドはどのように複製されますか?SQLコマンドは各サブスクライバで送信および処理されますか?それとも、MSSQLはそれよりも少しインテリジェントですか?