نکات LOAD در پارتیشن ها
شما می توانید از LOAD utility در پارتیشن ها استفاده نمایید. در اینجا نکات مهم این فرایند را با هم مرور می کنیم:
- اگر می خواهید تنها پارتیشن های خاصی از یک جدول پارتیشنی را LOAD کنید، حتما از عبارت PART در قسمت INTO TABLE استفاده نمایید.
- شما نمی توانید LOAD utility را در سطح پارتیشن یک PBG Tablespace انجام دهید.
- اگر در حال LOAD کردن یک Tablespace پارتیشنی هستید که با DEFINE NO ساخته شده است، این فرایند زمان بیشتری طول خواهد کشید. زیرا اولین رکورد وارد شده توسط LOAD utility، تمامی دیتاست ها را تعریف می کند.
- اگر بر اساس ایندکس پارتیشن بندی کرده اید (Index-controlled Partitioning) و یک ستون Identity جزء ایندکس شما می باشد، نمی توانید از عبارت PART استفاده نمایید.
جهت آشنایی با ستون Identity یا Auto Generated ID به این لینک مراجعه نمایید.
- اگر بر اساس جدول پارتیشن بندی کرده اید (Table-controlled Partitioning) و یک ستون Identity جزء تعریف پارتیشن در ساخت جدول شما می باشد، نمی توانید از عبارت PART استفاده نمایید.
شما میتوانید نحوه پارتیشن بندی کردن بر اساس جدول را در این لینک مطالعه فرمایید.
- جهت از بین بردن محدودیت Identity (دو مورد بالا) می توانید در دستور LOAD عبارت زیر را مشخص نمایید:
OVERRIDE(IDENTITY)
- اطمینان حاصل کنید که گزینه های LOAD را در جای مناسب خود می نویسید. بعضی از گزینه های LOAD مانند INDDN، DISCARDDN، RESUME و REPLACE بر حسب مکانی که نوشته می شوند می توانند عملکرد متفاوتی داشته باشند. برای مثال: اگر INDDN را قبل از عبارت INTO TABLE مشخص کنید، دیتاست ورودی مشخص شده برای Load در تمام جدول استفاده خواهد شد. در صورتی که اگر INDDN را بعد از INTO TABLE و در عبارت PART استفاده کنید، دیتاست مشخص شده فقط برای Load کردن در آن پارتیشن استفاده می شود.
- اگر می خواهید DB2 کپی رکوردهایی که LOAD نشده اند را ذخیره کند، از گزینه DISCARDDN جهت تعیین دیتاست مربوط به ذخیره این رکوردها استفاده نمایید. برای استفاده از این دیتاست جهت تمام جدول آن را قبل از INTO TABLE و برای استفاده از آن برای تنها یک پارتیشن، آن را بعد از عبارت INTO TABLE مشخص کنید.
- برای بهبود عملکرد هنگام LOAD کردن بیشتر از یک پارتیشن، بهتر است از گزینه PARALLEL (موازی/همزمان) استفاده کنید. این گزینه باعث کاهش زمان مورد نیاز برای LOAD کردن حجم زیادی از دیتا می شود. شما می توانید درجه موازی بودن را نیز مشخص کنید. برای مثال:
PARALLEL(4)
- در نظر داشته باشید که درجه موازی بودن بالا می تواند باعث افزایش زمان فرایند شود. برای انتخاب بهینه ترین درجه موازی بودن، می توانید از PARALLEL بدون عدد یا با عدد ۰ استفاده کنید تا DB2 این درجه را تعیین نماید.
جهت مطالعه بیشتر در خصوص نحوه ی LOAD کردن در پارتیشن ها به زبان انگلیسی می توانید از منبع زیر استفاده کنید: