ویرایش ایندکس در DB2
در مقاله ساختن ایندکس در DB2 با شرایط و نحوه ایجاد یک ایندکس آشنا شدید. در این مقاله با ویرایش ایندکس در DB2 آشنا خواهیم شد.
ویرایش INDEX
ویرایش ایندکس در DB2 نیز، مانند ویرایش TABLESPACE دارای دو جنبه است. تغییراتی که به محض اجرای اسکریپتِ تغییر، اِعمال میشوند و آن دسته از پارامترهایی که اِعمال تغییراتِ آنها به بعد از اجرای UTILITY REBUILD موکول میشود. برای ویرایش ایندکس در DB2، از دستور ALTER INDEX استفاده میکنیم. لازم به ذکر است برای ویرایش ایندکسهایِ یکتا نیز از همین دستور استفاده میشود.
پیشنهاد میشود برای مطالعه مکمل مقاله ویرایش Table Space در DB2 را بازبینی فرمایید.
به ساختار زیر توجه فرمایید:
ALTER INDEX index-name ADD COLUMN ( column-name 1 ASC/DESC/RANDOM, column-name 2 ASC/DESC/RANDOM, . . . column-name n ASC/DESC/RANDOM ) USING STOGROUP storage-group-name PRIQTY integer-value SECQTY integer-value FREEPAGE 0/integer-value PCTFREE 10/smallint-value BUFFERPOOL bufferpool-name CLUSTER ALTER PARTITION x ENDING AT (value) DEFINE YES/NO DEFER YES/NO COMPRESS YES/NO |
برای مطالعه ساختن ایندکس در DB2 اینجا کلیک کنید.
توضیح ساختار:
پارامترهای یک ایندکسِ از قبل ساخته شده را میتوان با دستور ALTER INDEX ویرایش کرد.
ADD COLUMN:
برای اضافه کردنِ ستونِ جدید به ستونهای ایندکس، میتوانید از این دستور بهره ببرید. لازم به ذکر است اگر ستونی را بخواهید حذف کنید ایندکس را باید حذف کرده و سپس از نو بسازید.
ALTER PARTITION:
در صورتی که بخواهید، مشخصات بازه یک پارتیشن یا مقادیر مربوط به آن مانند گروه ذخیره ساز را ویرایش کنید از این دستور میتوانید، استفاده نمایید.
مابقی گزینههایی که در ساختار مشاهده میشود، مانند پارامترهای تعریف ایندکس مقدار جدید گرفته و قابل تغییر میباشد.
نکته:
مواردی که مربوط به ساختار فیزیکیِ ایندکس (فضای ایندکسی) میشوند تا زمانی که ابزار نگهداریِ مناسب برروی ایندکس اجرا نشود، اِعمال نمیشوند. از این جمله میتوان به پارامترهای USING STOGROUP، PCTFREE، FREEPAGE، PRIQTY ،SECQTY و COMPRESS اشاره کرد.
مثال:
ایندکس یکتای PK_SEGTB، که در مثال قبل ساخته اید را با مشخصات زیر ویرایش نمایید:
- پارامتر FREEPAGE آن را به مقدار ۱۵ تغییر دهید.
- بافرپول را به BP17 تغییر دهید.
پاسخ:
ALTER INDEX PK_SEGTB FREEPAGE 15 BUFFERPOOL BP17; |
ویرایش نام ایندکس در DB2
برای تغییر نام ایندکس در DB2 از دستور RENAME INDEX استفاده مینماییم. این دستور مانند تغییر نام جدول، تنها دستورِ ویرایشِ ایندکس در DB2 است که از ALTER INDEX استفاده نمیکند.
به ساختار زیر توجه فرمایید:
RENAME INDEX old-index-name TO new-index-name; |
توضیح ساختار:
کافیست نام فعلی ایندکس و نام جدید آن را در ساختار جایگذاری کنید.
مثال:
نام ایندکسِ یکتای PK_SEGTB را به نام PKSEGTAB1 تغییر دهید.
پاسخ:
RENAME INDEX PK_SEGTB TO PKSEGTAB1; |
برای مطالعه بیشتر به زبان انگلیسی به لینکهای زیر مراجعه فرمایید: