test
3つの列を持つ名前のテーブルが1つあります。
- 名前
- id
- 住所
しばらくすると、1つの列が使用されていないことがわかりました。たとえば、1つの列を削除したいとしますid
。
Oracleには、列をとして識別する機能が1つありますunused
。drop
列とセット列の違いは何unused
ですか?
test
3つの列を持つ名前のテーブルが1つあります。
しばらくすると、1つの列が使用されていないことがわかりました。たとえば、1つの列を削除したいとしますid
。
Oracleには、列をとして識別する機能が1つありますunused
。drop
列とセット列の違いは何unused
ですか?
列をドロップすると、その列はごみ箱に移動しますが、未使用の列にマークを付けると、論理的にはドロップしますが、物理的には保持します。
列を未使用としてマークしてから、alter table name drop used columnステートメントを使用すると、DBAが列へのアクセスを迅速かつ即座に奪うことができるため便利な場合があります。後で、週末の定期的なデータベース保守中または営業時間後に、alter table name drop used列を含む列を削除して、スペースを再利用できます。
一方、列を未使用としてマークしてもスペースは解放されません。スペースを解放して不要な列を削除する必要がある場合は、削除することをお勧めします。
これは、一般的に使用するためではないDBAのメンテナンスウィンドウの助けになります。開発者にとっては、DROP列を意味します。それだけです。後で回復することはできません。代わりに、12 cにいる場合は、INVISIBLEオプションを使用してください。