دیتابیس اوراکل

دیتابیس اوراکل
طبقه بندی موضوعی

پاک کردن یک یا چند ستون از جدول

اگر بخواهیم یک یا چند ستون را از یک جدول حذف کنیم، میتوانیم با دستور alter table drop column این کار را انجام دهیم که به صورت فیزیکالی جدول را حذف میکند ولی اگر سایز جدول زیاد باشد، این کار خیلی طول میکشد و ممکن است روی دیتابیس لود هم بگذارد.

یک راه حل دیگر این است که با دستور زیر ستون را از جدول حذف کنیم:

alter table R.TAB1 set unused column DATE1;

 

با این کار ستون به صورت logical از جدول حذف میشود و برای کاربرها قابل مشاهده نخواهد بود. بعدا اگر فرصت مناسبی پیش آمد، میتوان با دستور زیر ستون را به صورت فیزیکالی هم از جدول حذف کرد:

alter table R.TAB1 drop unused columns checkpoint 500;

 

برای جداول بزرگ برای اینکه حجم undo segmentها را کم کنیم، با استفاده از عبارت CHECKPOINT میتوانیم مشخص کنیم، بعد از این تعداد سطر، یک checkpoint انجام شود.

با استفاده از ویوی زیر میتوانیم به ازای هر جدول تعداد ستونهایی که unused شده اند را مشاهده کنیم:

select * from DBA_UNUSED_COL_TABS;

COUNT

TABLE_NAME

OWNER

2

TAB1

R

1

TAB_LOG

H

 

 

 

 

 

 

 

 

برای آزاد کردن فضا بعد از پاک کردن ستون میتوانیم از دستور زیر استفاده کنیم:

alter table R.TAB1 move online;

 

 

  • راهله شاکری

drop columns

set unused columns

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی