\r\n\r\n

切断(truncate)と削除(delete)の違い

deleteとtruncateは、構造化クエリー言語(sql)でテーブルからレコードまたはデータを削除するための2つの用語です。この2つのコマンドの最終結果は同じですが、この2つのコマンドの間にもいくつかの違いがあります。これは重要です。理解する必要があります。deleteとtruncateの主な違いは、delteがデータ操作言語(dml)コマンドであり、truncateがデータ定義言語(ddl)コマンドであることです。

主な違い

DELETEとTRUNCATEは、構造化されたクエリー言語(SQL)で、テーブルからレコードまたはデータを削除するために使用される2つの用語です。この2つのコマンドの最終結果は同じですが、この2つのコマンドの間にもいくつかの違いがあります。これは重要です。理解する必要があります。DELETEとTRUNCATEの主な違いは、DELTEがデータ操作言語(DML)コマンドであり、TRUNCATEがデータ定義言語(DDL)コマンドであることである。

切断(truncate)は何ですか?

TRUNCATEもログ操作です。TRUNCATE TABLE文は、リリースするテーブルの範囲をマークするSQLのDDLコマンドです。この操作の結果、テーブル内のすべてのデータはすぐに削除され、通常は完全性強制メカニズムを迂回します。SQL:2008規格に導入されています。「TRUNCATE TABLE mytable」文は、論理的に「WHERE」句を持たない「DELETE FROM mytable」文に等しい。「TRUNCATE TABLE」は、テーブルで使用されているデータページを解放することによって、テーブル内のすべてのデータを削除します。これにより、削除操作を記録するリソースのオーバーヘッドと、必要なロックの数が減少します。「TRUNCATE TABLE」文で「WHERE」句を指定することはできません。それはすべてあるか、ないかのどちらかです。

削除(delete)は何ですか?

データベースSQLでは、DELETEは、1つまたは複数のレコードまたはデータの文をテーブルから削除することを意味します。すべてのレコードを削除する条件を使用して、サブセットの削除/削除を定義できます。MySQLなどのデータベース管理システム(DBMs)では、マルチテーブルから行を削除するために1つのdelete文(multi table deleteとも呼ばれる)を使用できます。DELETE文の構文はDELETE FROM table_name[WHERE condition]。WHEREの条件を満たす行はすべてテーブルから削除されます。文に「WHERE」句が省略されている場合、表のすべての行が削除されます。したがって、DELETE文は慎重に使用する必要があります。また、DELETE文はローを返さない。つまり、結果セットは生成されません。

主な違い

  1. DELETEはデータ操作言語(DML)コマンド、TRUNCATEはデータ定義言語(DDL)コマンドです。
  2. TRUNCATEはDELETEよりずっと速いです。すべてのデータをすぐに消去できるからです。
  3. 削除には「WHERE」条件が必要です。文に「WHERE」句が省略されている場合、表のすべての行が削除されます。ただし、「TRUNCATE TABLE」文に「WHERE」句を指定することはできません。すべてあるか、ないかのいずれかです。
  4. DELETEはテーブルから一部またはすべてのローを削除し、TRUNCATEはすべてのローを削除します。
  5. DELETEにより、テーブル上のすべてのDELETEトリガがトリガーされますが、TRUNCATE操作中にトリガはトリガーされません。単一のローには適用されないためです。
  6. Deleteはインデックスビューに使用でき、TRUNCATEはインデックスビューに使用できません。
  7. DELETEはロー・ロックを使用して実行され、テーブル内の各ローがロックされて削除され、TRUNCATEはテーブル・ロックを使用して実行され、すべてのテーブルがロックされてすべてのレコードが削除されます。

ビデオの比較

  • 2020-09-05 01:03 に公開
  • 閲覧 ( 18 )
  • 分類:教育

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

匿名者
匿名者

0 件の投稿

作家リスト

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

おすすめ