drop,truncate与delete的区别

Jun 07, 2016 pm 05:59 PM
delete drop truncate

这里说的delete是指不带where子句的delete语句

注意:这里说的delete是指不带where子句的delete语句
相同点
truncate和不带where子句的delete, 以及drop都会删除表内的数据

不同点:
1. truncate和 delete只删除数据不删除表的结构(定义)
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动
显然drop语句将表所占用的空间全部释放
truncate 语句缺省情况下将空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).
4.速度,一般来说: drop>; truncate >; delete
5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据

通俗的讲:

在实际应用中,三者的区别是明确的。
当你不再需要该表时, 用 drop;
当你仍要保留该表,但要删除所有记录时, 用 truncate;
当你要删除部分记录时(always with a WHERE clause), 用 delete.
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

キーボードの削除キーとは何ですか? キーボードの削除キーとは何ですか? Mar 16, 2023 pm 04:48 PM

キーボードの削除キーは、del (削除) キーとバックスペース キーの 2 つです。バックスペースはバックスペース キーとも呼ばれます。このキーはカーソルの前のテキスト コンテンツを削除でき、削除キーは文字、ファイル、選択したオブジェクトを削除できます。 Del キーを押すたびに、カーソルの右側の文字が削除され、カーソルの右側の文字が 1 フレーム左に移動します。1 つ以上のファイル/フォルダが選択されている場合は、Del キーを押します。キーを押すとすぐに削除できます。一部のアプリケーションでは、プログラム内のオブジェクトを選択し、Del キーを押すと、選択したオブジェクトをすぐに削除できます。

削除キーの機能は何ですか 削除キーの機能は何ですか Mar 10, 2023 pm 06:07 PM

削除キーの機能は次のとおりです: 1. 文字の削除; 削除キーを押すたびに、カーソルの右側の文字が削除され、カーソルの右側の文字が 1 フレーム左に移動します。 2. ファイルを削除します。1 つ以上のファイル/フォルダーが選択されている場合は、Delete キーを押してそれらをすぐに削除します (回復のためにごみ箱に移動します)。 3. 選択したオブジェクトを削除します。一部のアプリケーションではオブジェクトを選択し、Delete キーを押すと、選択したオブジェクトがすぐに削除されます。

uniapp でドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作を実装する方法 uniapp でドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作を実装する方法 Oct 19, 2023 am 09:39 AM

Uniapp はクロスプラットフォーム開発フレームワークであり、その強力なクロスエンド機能により、開発者はさまざまなアプリケーションを迅速かつ簡単に開発できます。 Uniapp でのドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作の実装も非常に簡単で、さまざまなコンポーネントや要素のドラッグ アンド ドロップ操作をサポートできます。この記事では、Uniapp を使用してドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作を実装する方法を紹介し、具体的なコード例を示します。ドラッグ アンド ドロップによる並べ替え機能は、多くのアプリケーションで非常に一般的であり、たとえば、リストのドラッグ アンド ドロップによる並べ替え、アイコンのドラッグ アンド ドロップによる並べ替えなどの実装に使用できます。以下に列挙します

Control + Alt + Delete の方法: Mac チュートリアル Control + Alt + Delete の方法: Mac チュートリアル Apr 16, 2023 pm 12:37 PM

Control+Alt+Delete:「Mac」モード Ctrlaltdel は、Windows ユーザーがタスク マネージャーを開くために使用する一般的なキーの組み合わせです。通常、マネージャー メニューから不要なアプリケーションを終了して、コンピューター上のスペースを解放します。 Control+Alt+Delete Mac 版を使用すると、強制終了メニューを開くことができます。 Mac ユーザーが問題の原因となっているプログラムを終了したい場合、または開いているプログラムを表示したい場合は、メニューを操作してさらに調査することができます。 Mac で ControlAltDelete を実行するにはどうすればよいですか?正常に動作していないアプリケーションがある場合は、このキーの組み合わせを使用する必要があります。

取引 |テスラ モデル 3 ロングレンジ AWD、7,500 ドルの税制優遇を全額取り戻し、価格は 40,000 ドル未満に低下 取引 |テスラ モデル 3 ロングレンジ AWD、7,500 ドルの税制優遇を全額取り戻し、価格は 40,000 ドル未満に低下 Jun 19, 2024 am 09:55 AM

テスラが昨年末にモデル 3 ハイランドのリフレッシュを発売した直後、米国連邦政府の EV 税制優遇規則が変更され、テスラが新型 M に中国製 LFP セルを使用したことにより、対象となる購入者の潜在的な割引額が半分に減りました。

削除されたファイルは復元できますか? 削除されたファイルは復元できますか? Feb 24, 2023 pm 03:49 PM

delete で削除されたファイルは復元できます。ユーザーが delete を使用してファイルを削除すると、これらのファイルはごみ箱に移動され、完全には削除されないためです。回復方法: 1. 「ごみ箱」を開き、復元したいファイルを選択し、「この項目を復元」をクリックします; 2. 「ごみ箱」を開き、復元したいファイルを選択し、元に戻すショートカットを使用します。 「ctrl+z」。できます。

データベース 'database_name' を削除できません; データベースが存在しません - MySQL エラーを解決する方法: データベースを削除できません、データベースが存在しません データベース 'database_name' を削除できません; データベースが存在しません - MySQL エラーを解決する方法: データベースを削除できません、データベースが存在しません Oct 05, 2023 am 11:46 AM

MySQL エラーの解決方法: データベースを削除できません。データベースが存在しません 概要: MySQL は、一般的に使用されるリレーショナル データベース管理システムです。 MySQL を使用する場合、データベースの作成、データベースの削除、その他の操作を含むデータベースの管理が必要になることがよくあります。ただし、データベースを削除するときに、「Can'tdropdatabase'database_name';databaseoesn'texist」というエラー メッセージが表示され、データベースを削除できない場合があります。

jQueryでテーブル行を追加、編集、削除するにはどうすればよいですか? jQueryでテーブル行を追加、編集、削除するにはどうすればよいですか? Sep 05, 2023 pm 09:49 PM

今日の Web 開発時代では、特にデータ量の多い Web アプリケーションを扱う場合、効果的かつ効率的なテーブル管理が非常に重要になっています。テーブルの行を動的に追加、編集、削除できる機能により、ユーザー エクスペリエンスが大幅に向上し、アプリケーションがよりインタラクティブになります。これを達成する効果的な方法は、jQuery の機能を活用することです。 jQuery は、開発者が操作を実行するのに役立つ多くの機能を提供します。テーブルの行 テーブルの行は、相互に関連するデータのコレクションであり、HTML の要素で表されます。これは、テーブル内のセル (要素で表される) をグループ化するために使用されます。各要素はテーブル内の行を定義するために使用され、複数属性テーブルの場合、通常は 1 つ以上の要素が含まれます。構文$(セレクター).append(co

See all articles