表の空化(TRUNCATE)のメリットを知りたいです。
DELETE だけで良いのでは?と思ってしまいます。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/29 15:21
回答3件
0
違いを理解されないとメリットもデメリットもないと思います。
TRUNCATE のパフォーマンス上の利点
SQL truncate 高速データ削除 deleteやdropとの違いとDBMS間の差異
TRUNCATEとDELETEの違い
DELETE と TRUNCATE TABLE の違い
TRUNCATEとDBMS間の違い
利用するDBによって多少の差異はあるでしょうけど、大体仕様的には同じです。
単テーブル(リレーションがなく独立したテーブル)を全削除したい場合、パフォーマンスを重視する場合、ディスク領域の解放まで一気にしたい場合
のメリットは大きいです。
処理が速い=サーバ負荷が少なく済む とも言えます。
投稿2021/04/29 13:27
総合スコア80875
0
データベース管理システムは、テーブルの内容を追加変更削除を司るのみならず
不測の事態に備えてトランザクションログなんてものを記録しています。
これは、例えばシステムが何らかの原因でクラッシュしたときの復元に使われます。
(1) データベースを丸ごとバックアップする。
(2) 追加変更削除を行う。(同時にトランザクションログが作られる)
(3) クラッシュする。
-------------------------------
(4) バックアップからデータベースを復元する。
(5) 追加変更削除のトランザクションログを当ててクラッシュ直前の状態まで更新する
(6) データベースの使用を再開する。
これに対して TRUNCATE の場合は、トランザクションログを省略しています。
処理は、一瞬で終わります。
ざっとこんな感じ。
MSACCESS は、データベースもどきですので、こんなことやってません。
投稿2021/04/29 13:41
総合スコア1067
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。