درود
از دوستان اگه در مورد کادری که در عکس زیر هست توضیحی بدن ممنون میشم.
درود
از دوستان اگه در مورد کادری که در عکس زیر هست توضیحی بدن ممنون میشم.
برای اینکه مطمئن بشیم یک فیلد مقادیرش یونیک هست، میتونیم از Unique Index یا Unique Constraint استفاده کنیم. عمده ترین تفاوت بینشون اینه که اگر یک FK قصد داشته باشیم بسازیم در جدول Child، فیلد موجود در جدول Parent که مرتبط میشه با Child باید الزاما یا PK باشه یا Unique Constraint داشته باشه. پس بهتره همیشه به جای یونیک ایندکس، از یونیک Constraint استفاده کنیم تا اگر در آینده یک جدولی خواست به اون FK بسازه، قادر باشه.
اما چرا یونیک ایندکس اصلا وجود داره، چه کاربردی داره؟
زمانی که یک جدول دارای یونیک Constraint هستش، موقع Insert با تعداد بالا، به ازاء هر رکورد، یکبار تکراری نبودن مقادیر چک میشه ولی اگر یونیک ایندکس باشه، تمام اطلاعات Insert میشن و یکبار در انتها تکراری نبودن مقادیر کنترل خواهند شد. پس میتونیم بگیم Insert با تعداد بالا، روی یونیک ایندکس دارای Performance بهتری هست.
ولی چون Insert با حجم بالا به ندرت نیاز میشه، لذا استفاده از Constraint با توجه به امکان ساخت FK بهتر خواهد بود
Ignore Duplicate به معنیه این هست که در عمل Insert با تعداد زیاد، از مقادیر تکراری فقط یکیشون وارد میشه و بقیه Ignore میشن. یعنی عمل Insert ادامه پیدا میکنه و Error نمیگیره.
Pad Index و Fill Factor مشخص میکنه Pageهای ایندکس چند درصد پر بشن (در موقع ساخت ایندکس) ولی با ویرایش جدول، مقدار پر بودن Pageها تغییر میکنه.