この記事では主に、MySQL でテーブルを削除する 3 つの操作、つまり delete ステートメント、truncate ステートメント、drop ステートメントの違いについて説明します。 導入 消去 1. テーブル全体のデータを削除します。 table_name から削除します。 2. 一部のデータを削除し、where 句を追加します。 table_name から削除...; 3. 説明 1) DML 言語に属します。行が削除されるたびに、削除された行ごとにトランザクション ログにエントリが記録されます。ロールバックはトランザクションがコミットされた後にのみ生成され、有効になります。対応するトリガーがある場合は、実行中にトリガーされます。大量のデータを含むテーブルを削除すると、速度が非常に遅くなります。 切り捨てる 1. テーブルを操作して、テーブル内のすべてのデータを削除することしかできません。その機能は、where 句のない delete ステートメントと同じです。 テーブル table_name を切り捨てます。 2. 説明 1) デフォルトでは、truncate はテーブル データの格納に使用されたデータ ページを解放することによってデータを削除し、ページの解放のみをトランザクション ログに記録します。したがって、システムおよびトランザクション ログ リソースの使用量が減り、ストレージを再利用できます。切り捨てにより、ハイ ウォーターマークがリセットされます (最初に戻ります)。 落とす 1. DROP ステートメントは、テーブル構造だけでなく、従属する制約、トリガー、インデックスも削除します。 テーブル table_name を削除します。 2. 注意 1) 削除後、テーブルに依存するストアド プロシージャ/関数は保持されますが、無効になります。 違い 1. テーブルとインデックスが占めるスペース: 2. 適用範囲: 3. 実行速度: 4. 空のテーブルを削除した後、delete from では空のページが保持され、truncate ではテーブルにページは残りません。 5. DELETE 文を実行するプロセスは、テーブルから 1 行ずつ削除し、同時に行の削除操作をトランザクション レコードとしてログに保存してロールバック操作を行います。 TRUNCATE TABLE は、個々の削除操作をログに記録せずに、テーブルからすべてのデータを一度に削除します。削除された行は回復できません。また、削除プロセス中は、テーブルに関連する削除トリガーはアクティブ化されません。実行速度が速い。 6. 行ロックを使用して DELETE ステートメントを実行すると、テーブル内の各行が削除のためにロックされます。 truncate は常にテーブルとページをロックし、個々の行はロックしません。 7. ID によって生成された自動増分 ID 列がある場合、削除後も最後の番号から増加します。つまり、シードは変更されません。 切り捨てを使用して削除した後、シードは初期値に復元されます。 要約する 1. delete ステートメントでは where 句を使用して部分的な削除を実行できますが、truncate では実行できないため、テーブル内のすべてのデータが削除されます。使用時には、必要に応じて選択できます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: ルート変更を監視するJavaScriptの詳細な説明
>>: Eclipse と IDEA 用に Tomcat サーバーを構成する方法
目次序文以前のバージョンイテレータパターンイテレータファクトリ関数イテレータプロトコル最後に序文多く...
MySQLでホワイトリストアクセスを設定する手順1. ログイン mysql -uroot -pmys...
問題は、誰もが「メモリ リーク」について知っていることです。一般的なシナリオはいくつかあります。クロ...
制約制約によりデータの整合性と一貫性が確保される制約はテーブルレベルの制約と列レベルの制約に分けられ...
プロジェクトでは、フォーム テストが頻繁に発生します。単一のフォーム テストについては、詳細な紹介が...
場合によっては、次のような機能を実装したいことがあります。リンクをクリックします。リンクがブラウザで...
序文説明を簡略化するために以前に設定した要件は、他のグループから MQ メッセージを受信し、データベ...
以下のように表示されます。 CSSコードコンテンツをクリップボードにコピー分割{境界線: 2px 固...
最近、同社は、下図に示すように、h5 ページ操作を完了するという要件を提示しました。 ネットで入手で...
MySQLグループソートで上位Nを見つけるテーブル構造grp でグループ化し、num で並べ替えて、...
序文この章では、基本的な Linux 関数と epoll 呼び出しを使用して、Linux 上で実行で...
1. 括弧の役割1.1 角括弧 [ ]属性名が角括弧で囲まれている場合、右側には式の値が割り当てられ...
次のような初期コードがあると仮定します。 <!DOCTYPE html> <htm...
この記事の例では、クリックしてカードを切り替える機能を実現するためのjsの具体的なコードを共有してい...
序文Golang は、SQL データベースにアクセスするための database/sql パッケージ...