PDA

View Full Version : nonclustered



M.GhanaatPisheh
سه شنبه 19 آبان 1383, 06:37 صبح
آقا این یعنی چی؟
A nonclustered index contains a book mark to the table records in the leaf level
در سطح برگها چه اتفاقی برای رکورد می افته؟

AminSobati
سه شنبه 19 آبان 1383, 11:26 صبح
دوست عزیزم،
زمانیکه شما ایندکس NC میسازین، Leaf Level از Data Level یا از اصل جدول جدا خواهد بود. به عنوان مثال در جدول Customers دیتابیس Northwind اگر یک ایندکس NC روی فیلد Country بسازین، SQL Server تمام مقادیر موجود در این فیلد (تمام کشورها) رو در جای جدیدی Sort میکنه که این همون Leaf Level میشه. حالا کنار نام هر کشور در Leaf Level، یک علامت یا Bookmark قرار میده که این یک آدرسه تا بدونه هر کشور در اینجا، مرتبط با کدوم رکورد در جدول اصلی (Data Level) هست. اگر برای جدولتون یک ایندکس C بسازین، از حالا به بعد هر وقت ایندکس NC ساخته بشه، از Clustered Key (یعنی مقادیری که در ایندکس C شرکت دارند) به عنوان Bookmark استفاده میشه. ولی اگر ایندکس C وجود نداشته بشه، از RowID به عنوان Bookmark استفاده خواهد شد. RowID یک نشانگر برای مشخص کردن موقعیت رکورده و تشکیل شده از شماره فایل، شماره Page و شماره Slot. مثلا 1:456:8 نشون میده که رکورد مورد نظر در فایل شماره یک، Page شماره 456 و Slot شماره 8 قرار گرفته.
موفق باشید،
امین ثباتی MCSD