تعیین بازه پارتیشن ها در جدول DB2
در این مقاله بررسی می کنیم چگونه می شود در هنگام ساخت جدول، بازه ی پارتیشن ها در جدول را تعیین کرد.
CREATE TABLE table-name
PARTITION BY (column x)
(
PARTITION 1 STARTING AT (value)
ENDING AT (value)
INCLUSIVE,
PARTITION 2
STARTING AT (value)
ENDING AT (value)
EXCLUSIVE,
..
)
IN tablespace-name;
جهت استفاده از مطالب این مقاله، نیاز است که مقاله ساخت جدول در DB2 را مطالعه نمایید.
STARTING AT:
مشخص کننده ی کمترین مقدار پارتیشن در جدول می باشد.
در پارتیشن اول حتما باید مقدار STARTING AT را مشخص کنید. اگر این مقدار را تعیین نکنید کمترین مقدار DataType ستون در آن قرار می گیرد.
در سایر پارتیشن ها در جدول، در صورت تعیین نکردن STARTING AT، مقدار ENDING AT پارتیشن قبل را می پذیرد.
ENDING AT:
بیشترین مقدار آن پارتیشن در جدول را تعیین می کند.
اگر در پارتیشنی عبارت ENDING را تعیین نکرده اید، پارتیشن بعدی باید حتما دارای STARTING باشد که محدوده ی پارتیشن مشخص شود.
EVERY :
PARTITION BY (column x )
(
STARTING AT (value)
ENDING AT (value)
EVERY (value)
)
IN tablespace-name;
در تعریف پارتیشن ها در جدول شما می توانید پارتیشن های مورد نیاز را با مشخص کردن STARTING و ENDING هر پارتیشن مشخص کنید.
اما DB2 امکانی برای شما فراهم کرده است که با کلمه کلیدی EVERY در یک عبارت بتوانید محدوده ی پارتیشن های خود را با یک دستور مشخص کنید.
CREATE TABLE tb1
PARTITION BY RANGE (col1)
(
STARTING (1)
ENDING (100)
EVERY (20)
);
در مثال بالا، ۵ پارتیشن تعریف می شود که بازه های آن [۱-۲۰]، [۲۱-۴۰]، [۴۱-۶۰]، [۶۱-۸۰] و [۸۱-۱۰۰] می باشد.
MINVALUE و MAXVALUE:
کمترین و بیشترین مقدار مورد قبول ستون را (جدا از محدوده پارتیشن ها) مشخص می کند.
به عبارتی MINVALUE کمترین مقدار ممکن پارتیشن اول و MAXVALUE بیشترین مقدار ممکن پارتیشن آخر می باشد.
این پارامترها، کمترین و بیشترین مقدار ممکن در Datatype تعیین شده را استفاده می کنند.
جهت مطالعه انواع DataType در جداول DB2 اینجا کلیک کنید.
INCLUSIVE:
زمانی که کلمه INCLUSIVE را برای یک پارتیشن در جدول عنوان می کنید، به این منظور است که مقادیر مشخص شده به عنوان STARTING و ENDING، خود در این پارتیشن وجود داشته باشند. مثلا در بازه ی [۱-۲۰]، اعداد ۱ و ۲۰ نیز در این پارتیشن قرار می گیرند.
EXCLUSIVE:
دقیقا برعکس کلمه INCLUSIVE می باشد و اگر در یکی از پارتیشن ها در جدول آورده شود، مقادیری که به عنوان STARTING و ENDING در نظر گرفته شده، جزء پارتیشن حساب نمی شوند.
NULL FIRST و NULL LAST :
مشخص کننده جایگاه NULLها در هر پارتیشن در جدول می باشند که آیا در ابتدای پارتیشن قرار می گیرند و یا در انتهای آن.
به صورت پیشفرض، NULLها مقادیر مثبت بی نهایت در نظر گرفته می شوند و در آخرین پارتیشن قرار داده می شوند.
کلمه کلیدی LAST تعیین می کند که NULL ها در لیست SORT شده ی مقادیر، در آخر لیست قرار بگیرند و استفاده از کلمه FIRST، باعث می شود تا NULLها در ابتدای لیست قرار گیرند.
جهت مطالعه بیشتر در خصوص نحوه ی تعیین بازه پارتیشن ها در جدول به زبان انگلیسی می توانید از منبع زیر استفاده کنید:
IBM Knowledge Center – Defining ranges on partitioned tables