RDBMS のデータ削除
Google
Twitter
OneDrive
jQuery
Three.js
logicalerror
更新履歴
データベース
VBScript
delete ( DML )
Oracle のドキュメント(スキーマ・オブジェクトの管理)
では、以下のように述べられています。
表からすべての行を削除するには、次の3通りの方法があります。
DELETE文を使用する。
DROP文とCREATE文を使用する。
TRUNCATE文を使用する。
データを削除する最も一般的な方法は、 delete 文で削除する方法です。
delete 文は、 where 句により条件を指定して行単位で削除するのが基本ですが、
条件無しで実行するとテーブル全体をクリアします。
この場合、トランザクションを有する RDBMS では、削除処理そのものが rollback 対象になる為、
リソースの消費と処理時間の消費が、テーブルそのものの更新以外にも発生します。
ですから、大量( 数百万件 ) のデータを delete 文で削除するような事は絶対に避けなければなりません。
通常、バッチ処理での更新(削除)では、数件(1件)毎に commit 処理を行います。
しかし、commit の回数が多くなればなるほどそのぶん全体の処理時間は増大します。
truncate table (ddl)
通常、テーブルのデータクリアはこの SQL で処理します。
truncate table は、トランザクションとは関係なく処理されるので、トランザクション中に
実行すると、自動的に静止点が確立されます( commit される )
drop してから 再度 create する
機能だけで言えば、truncate のほうが優れています。
テーブルを削除すると、テーブルに依存するオブジェクトが無効になり、意図せぬ不具合を起こす可能性があるからです。
しかし、MySQL、Oracle、PostgreSQL では、create に as select を使った構文があり、
テーブル作成と同時に初期データを投入するという事も可能です。
( EXCEL、MDB、SQLServer、PostgreSQL では、同等の select into 構文があります )
いずれにしても、どのような方法を使ったほうが確実でリスクが少ないかを
ケース毎に熟考する必要があります。
SQLの窓
create:2009/07/09 update:2014/09/07
管理者用(要ログイン)
SQLの窓
天気
IT用語辞典
Yahoo!ニュース
マルチ辞書
PHP マニュアル
Google URL短縮
フリーフォントWEBサービス
フリーフォントで簡単ロゴ作成
アイコン・はんこ画像作成
フリーフォントでボタン素材作成
フリーフォントで横書きロゴ作成
フリーフォントで縦書きロゴ作成
カナ・かなページ
書体見本
キーボード画像作成
フリーフォント ギャラリー
フリーイラスト素材ダウンロード
UTF-8文字Tool
SQLの窓WEBサービス
SyntaxHighlighter
リアルタイムHTML
テキスト変換
Shadowbox 埋め込みコード作成
SQLの窓フリーソフト
SQLの窓 Build C++
販売管理B
「送る」に入れる簡易ダンプ
WMI Query
コンピュータアイコンメニュー
ドメイン内検索
写真素材
足成
Image * After
一般WEBツールリンク
HTML整形ツール
JSONLint
ttf to woff converter
Exploring the Twitter API
Pixlr Editor
Pixlr Express
Google URL Shortener
SQLの窓
logical error
GINPRO
WAHA land
職人的フリーソフトの使い方
WEB 職人
ソース掲示板
フリーソフト
Classic Shell
7-Zip
FileZilla
PrimoPDF(英語版)
JSライブラリ
jQuery
Three.js
Lightbox
Shadowbox.js
Google Maps API
The Google Hosted Libraries