\r\n\r\n

堕ちるときりすてるの違い

dropとtruncateは、データベースからデータレコードを削除したいデータベース管理システムで使用される2つのSQL(構造化クエリ言語)文です。dropとtruncate文は両方ともテーブルと関連するSQL文のデータ全体を削除します。この場合、delete操作はdropやtruncateよりも多くの記憶容量を消費するため、無効である...。

削除と切り捨て

Drop と Truncate は、データベース管理システムで使用される 2 つの SQL (Structured Query Language) 文で、データベースからデータレコードを削除したい場合に使用します。Drop と Truncate 文は両方とも、テーブルと関連 SQL 文内のデータ全体を削除します。この場合、Delete操作はDropやTruncateよりも多くの記憶容量を消費するため、有効ではありません。

データベース内のテーブルとそのデータをすべて削除したい場合、SQL では、既存のデータベース、テーブル、インデックス、またはビューを破棄するために使用できる DDL (Data Definition Language) コマンドである Drop 文を使用して、この操作を簡単に実行することができます。データベースからテーブル構造だけでなく、テーブルからすべての情報を削除します。あるいは、単純にテーブルのデータをすべて削除したいが、テーブルを削除したくない場合、SQL の Truncate ステートメントを使用することができます。

ドロップコマンド

前述のように、Dropコマンドは、特定のテーブルに作成されたテーブル定義とそのデータ、整合性制約、インデックス、トリガー、アクセス権をすべて削除します。その結果、既存のオブジェクトをデータベースから完全に削除し、他のテーブルとのリレーションシップもコマンド実行後は無効となります。また、データディクショナリーからテーブルに関するすべての情報が削除されます。以下は、テーブルに対して Drop ステートメントを使用する場合の典型的な構文です。

フォームを削除する < フォーム名&gt.

上記のDropコマンドの例で、データベースから削除するテーブルの名前を置き換えるだけです。

注意すべきは、Dropステートメントは、外部キー制約によって参照されているテーブルを削除するためには使用できないということです。この場合、参照される外部キー制約またはその特定のテーブルのいずれかを最初に削除する必要があります。また、Drop文はデータベースのシステムテーブルには適用できません。

Dropコマンドは自動コミット文であるため、一度操作するとロールバックできず、トリガーも発生しません。テーブルが削除されると、そのテーブルへの参照はすべて無効になるため、再び使用する場合は、すべての整合性制約とアクセス権で再作成する必要があります。他のテーブルとの関係もすべて再配置する必要があります。

切り捨てコマンド

Truncateコマンドは、ユーザが指定した条件を使用せずにテーブルのすべての行を削除し、テーブルが使用している領域を解放するDDLコマンドですが、テーブル構造とその列、インデックス、制約は変更されません。 truncateは、テーブルデータを格納するために使用されているデータページの割り当てを解除してテーブルからデータを削除し、それらのページリリースだけがトランザクションログに保持されます。その結果、Delete などの他の関連する SQL コマンドよりも、トランザクションログのリソースやシステムリソースの使用量が少なくて済みます。だから、Truncate文は他の文より少し速いのです。以下は、Truncate コマンドの典型的な構文です。

フォームの切り捨て < フォーム名&gt.

データ全体を削除したいテーブルの名前を上記の構文に置き換える必要があります。

Truncateは、外部キー制約によって参照されているテーブルでは使用できません。それは自動的に操作の前に1回コミットし、その後もう1回コミットするため、トランザクションのロールバックは不可能で、トリガーも発生しません。テーブルを再利用したい場合は、データベース内の既存のテーブル定義にアクセスすればよい。

DropとTruncateの違いは何ですか?

DropコマンドとTruncateコマンドは、DDLコマンドであり、自動コミット文でもあるため、これらのコマンドで実行されたトランザクションをロールバックすることはできません。

Drop と Truncate の主な違いは、Drop コマンドはテーブルからすべてのデータを削除するだけでなく、すべての参照を含むテーブル構造をデータベースから永久に削除するのに対し、Truncate コマンドはテーブルのすべての行を削除するだけで、テーブル構造とその参照は保持されることです。

テーブルが削除されると、他のテーブルとの関係は無効となり、整合性制約やアクセス権も削除されます。したがって、テーブルを再利用する必要がある場合は、関係、整合性制約、アクセス権を使用してテーブルを再構築する必要があります。しかし、テーブルが切り捨てられたとしても、テーブルの構造とその制約は将来の使用のために保持されるので、再利用には上記のような再作成は必要ない。

  • 2020-11-04 15:26 に公開
  • 閲覧 ( 15 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ