tgoop.com/sql_server/821
Last Update:
دقت کردین میگن پشت تلفن هر حرفی رو نگید و هر کلمه ای رو نگید. ممکنه که بیان روی خطتون و ...
یعنی یک سرویس مخفی اون سمت هست که همیشه حواسش به شما هست 😂
دقیقا توی تعریف Nonclustered Index ها هم همین صادقه.
زمانی که شما دارید یک Clustered Index تعریف می کنید ( که این در اکثر مواقع با PK همراهه و میتونه دوجین فیلد رو باهم PK قرار بده)
یک کلید داره که میتونه یک فیلد باشه میتونه ترکیبی از چند فیلد باشه.
حالا هر ایندکس غیر کلاستری که تعریف می کنید همیشه به صورت یک ستون مخفی این کلید کلاستر داخلش قرار داره.
فرض کنید شما مثلا یک فیلد از نوع UniqueIdentifier دارید یکی از نوع Varchar یکی هم از نوع INT و ترکیب اینهارو اومدین یک PK گرفتین که کلاستر ایندکس شما هم شده.
حالا هر ایندکس دیگه ای بسازید این سه تا فیلد عزیز توی همه ایندکس های شما وجود داره.
حتما میگین خوب باشه مگه جای تورو تنگ کرده؟ 😅
نه عزیز دل ، جای منو که تنگ نکرده ولی باعث میشه ایندکس شما به شدت بزرگ بشه.
سایز جدول و دیتابیس شما افزایش پیدا کنه.
هرباری هرکدوم از این فیلدهای کلیدی کلاستر تغییر کنن توی همه ایندکس ها باید این تغییرات اعمال بشه و الی آخر.
یعنی قشنگ مثل یک دومینو هست که اولش خراب بشه همینطوری خیاری همه رو پشت هم خراب میکنه. 😂
نکته اخلاقی : در تعریف PK ها باید دقت کنید. الزامی نداره ایندکس کلاستر شما با PK شما یکی باشه. PK برای ارتباط با جداول دیگه در نظر گرفته میشه ولی ایندکس کلاستر برای ساختار ذخیره سازی و مسائل دیگه است.
BY SQL Server
Share with your friend now:
tgoop.com/sql_server/821