سبد (0)

گزینه IGNORE_DUP_KEY

آموزش پیشرفته SQL Server (جلسه پنجم) - گزینه IGNORE_DUP_KEY

بررسی گزینه IGNORE_DUP_KEY، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی این گزینه، قسمت های قبلی را مطالعه فرمایید.

همان طور که در مطلب گزینه های ساخت ایندکس مشاهده کردید، هنگام ساخت ایندکس با گزینه های مختلفی سروکار داریم:

گزینه های مختلف ایندکس

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON table_name (column [ ASC | DESC ] [ ,...n ] )   
    [ WITH (  
PAD_INDEX = { ON | OFF }
  | FILLFACTOR =fillfactor
  | SORT_IN_TEMPDB = { ON | OFF }
  | IGNORE_DUP_KEY = { ON | OFF }
  | STATISTICS_NORECOMPUTE = { ON | OFF }
  | STATISTICS_INCREMENTAL = { ON | OFF }
  | DROP_EXISTING = { ON | OFF }
  | ONLINE = { ON | OFF }
  | ALLOW_ROW_LOCKS = { ON | OFF }
  | ALLOW_PAGE_LOCKS = { ON | OFF }
  | MAXDOP =max_degree_of_parallelism
  | DATA_COMPRESSION = { NONE | ROW | PAGE} ]

بررسی گزینه IGNORE_DUP_KEY

هنگام ساخت ایندکس از نوع UNIQUE، گزینه IGNORE_DUP_KEY کاربرد پیدا می کند.

گزینه IGNORE_DUP_KEY با مقدار ON یا OFF تنظیم می شود.

زمانی که با عملیات های دسته جمعی (Bulk Insert) سروکار داریم، بعنوان مثال قرار است n میلیون رکورد درج شود، حالا اگر در میانه عملیات، یکی از رکوردها تکراری باشد، SQL Server خطای تکراری بودن داده را صادر می کند و کل عملیات را RollBack (عقبگرد) می کند.

حالا برای جلوگیری از اتفاق بالا، فقط کافی است گزینه IGNORE_DUP_KEY را با مقدار ON تنظیم نمایید.


مثال عملی استفاده از گزینه IGNORE_DUP_KEY

گزینه IGNORE_DUP_KEY

CREATE UNIQUE CLUSTERED INDEX IX1 ON T1(F1)

INSERT INTO T1 VALUES (1,'A')
INSERT INTO T1 VALUES (2,'B')
INSERT INTO T1 VALUES (2,'B')
INSERT INTO T1 VALUES (3,'C')

در ابتدای مثال بالا، اسکریپت ساخت یک ایندکس از نوع UNIQUE CLUSTERED روی فیلد اول (F1) وجود دارد. در ادامه دو Insert متمایز شده با رنگ قرمز، شامل داده های تکراری هستند. که به دلیل تکرار در فیلد F1 با خطا مواجه خواهد شد...! توجه داشته باشید که Insert چهارم اجرا نخواهد شد...!

اما اگر در ابتدای مثال بالا اسکریپت ساخت ایندکس را با اسکریپت زیر جایگزین کنیم، خطایی رخ نخواهد داد و Insert چهارم اجرا خواهد شد:

به گزینه IGNORE_DUP_KEY دقت کنید

CREATE UNIQUE CLUSTERED INDEX IX1 ON T1(F1)
    WITH (IGNORE_DUP_KEY = ON)

در ادامه آموزش گزینه IGNORE_DUP_KEY خواهید دید ...!

با خرید جلسه 5 از بسته آموزشی "افزایش کارایی پایگاه داده" موارد زیر را خواهید دید:

  1. با یک مثال عملی نحوه ی استفاده از گزینه IGNORE_DUP_KEY را نشان دهید.

دسترسی به موارد آموزشی بالا در بسته خریداری شده

  • شماره جلسه: 5
  • نام فایل ویدئو: 01
  • فرمت فایل: mp4.

نقطه شروع بحث بالا (گزینه IGNORE_DUP_KEY) در ویدئو:  35:30


برای خرید و دانلود کامل آموزش پیشرفته SQL Server کلیک کنید.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه