この記事では主に、SQL 削除ステートメント DROP、TRUNCATE、および DELETE の違いを紹介し、SQL ステートメントをよりよく理解して学習できるようにします。興味のある方は、さらに詳しく知ることができます。 落とす: DROP TABLE テスト。 テスト テーブルを削除してスペースを解放し、テスト テーブル内のすべてのデータを削除します。 切り捨て: TRUNCATE テスト; テスト テーブルの内容を削除してスペースを解放しますが、テーブル定義は削除しないでください。テーブル構造はそのまま残ります。 消去: 1. 指定したデータを削除する テストテーブルから、年齢が30歳で国が米国のデータを削除します。 age=30 かつ country='US' の場合、test から削除します。 2. テーブル全体を削除する テスト テーブルのすべての内容を削除し、テーブル定義を保持し、スペースを解放しません。 DELETE FROM test または TRUNCATE test; truncate table コマンドは、テーブル内のすべてのレコードをすばやく削除しますが、テーブル構造は保持します。このクイック削除は、すべてのテーブル レコードを削除する delete from table コマンドとは異なります。delete コマンドによって削除されたデータは、システム ロールバック セグメントに保存されます。必要に応じて、データをロールバックして復元できますが、truncate コマンドによって削除されたデータは復元できません。 類似点 切り捨て、where 句なしの削除、およびドロップはテーブル内のデータを削除します。 違い: 1. 切り捨てと削除ではデータのみが削除され、テーブル構造 (定義) は削除されません。ドロップ ステートメントは、テーブル構造が依存する制約、トリガー、およびインデックスを削除します。テーブルに依存するストアド プロシージャ/関数は保持されますが、無効になります。 2. 削除文は DML 文です。この操作はロールバック セグメントに配置され、トランザクションがコミットされた後にのみ有効になります。対応するトリガーがある場合は、実行時にトリガーされます。切り捨てと削除は DDL 操作です。操作はすぐに有効になります。元のデータはロールバック セグメントに配置されず、ロールバックできません。 操作によってトリガーがトリガーされません。 3. 削除ステートメントはテーブルが占有する範囲に影響を与えず、高水準点は元の位置に残ります。 明らかに、drop ステートメントはテーブルによって占有されているすべてのスペースを解放します。デフォルトでは、再利用ストレージが使用されない限り、truncate ステートメントは、領域を minexents エクステントまで解放します。truncate は、最高水準点をリセットします (先頭に戻ります)。 4. 速度: 一般的には、ドロップ > 切り捨て > 削除の順になります。 5. 安全性: 特にバックアップがない場合は、ドロップと切り捨てを慎重に使用してください。そうでなければ泣くには遅すぎるでしょう。 使用時には、一部のデータ行を削除する場合は delete を使用し、必ず where 句を含めてください。 ロールバック セグメントは十分な大きさである必要があります。 テーブルを削除する場合は、もちろん drop を使用します。 テーブルは保持しますが、すべてのデータを削除します。トランザクションに関係がない場合は、切り捨てのみを使用します。 トランザクションに関連している場合、またはトリガーをトリガーする場合は、delete を使用します。 テーブルをデフラグする必要がある場合は、切り捨てを使用してからストレージを再利用し、データを再インポート/挿入することができます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
1. HTMLの概要htyper テキスト マークアップ言語 ハイパーテキスト マークアップ言語ハ...
Remote-SSHをインストールして設定するまず VSCode を開き、拡張機能を見つけて、Rem...
目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...
JavaScript DOM を読み終えた後、解釈型 JavaScript スクリプト言語に対する...
1. PVとIPの統計一日のPV(ページビュー)をカウントする cat access.log | ...
目次主キー制約一意の主キー非 Null 制約デフォルトの制約外部キー制約1NF 2NF 3NFデータ...
目次方法 1: ルーティング メタ情報 (meta)方法 2: ルーティング テーブルを動的に生成す...
目次Vue2 レスポンシブ原則のレビューVue3 レスポンシブ原則の分析ネストされたオブジェクトの応...
垂直方向では、行の配置を上、中央、下に設定できます。基本的な構文<TR VALIGN=&quo...
c3p0の使用c3p0jarパッケージをインポートする <!-- https://mvnrep...
質問:よく使用されるコマンド「ll」が無効であるか、コマンドが見つかりません理由: 「ll」コマンド...
HTML5 では、ヘッダー、フッター、ナビゲーションなどのセマンティック タグが追加されているため...
1. 前述の通り数年前、Linux ドライバーのコードを読んでいたときにこのマクロを見ました。長い間...
最近、私は「ぶどうコレクション」というプロジェクトに取り組んでいます。簡単に言うと、Budou ペー...
docker コンテナを使用する場合、vim がインストールされていないことがあり、vim コマンド...