PDA

View Full Version : مشکل باSort جدول ها در SQL Server



vjp
پنج شنبه 13 اسفند 1383, 06:52 صبح
با سلام
من جدولی در sql server دارم و توسط ADO به آن دسترسی دارم ولی نمیتوانم مقادیرش را روی فیلدی به غیر از کلید اصلی مثلاٌ بر اساس فیلد نام خانوادگی Sort کنم البته Index بر اساس آن فیلد ساخته ام اما جوابگو نیست اشکال کار من کجاست؟ باتشکر :reading:

M.GhanaatPisheh
پنج شنبه 13 اسفند 1383, 12:21 عصر
ایندکس بر اساس کلید اولیه که بصورت اتوماتیک ساخته می شه.
حالا توی Query Analyser تست کردید Query رو؟
اونجا هم همین مشکل رو دارید؟

vjp
جمعه 14 اسفند 1383, 15:40 عصر
البته در بخش quary توسط دستور select و به دنبال آن عبارت order by میتوان این کار را انجام داد ولی هدف من بدون استفاده از quary و بوسیله ساختن ایندکس بر اساس یک فیلد دلخواه است

AminSobati
دوشنبه 24 اسفند 1383, 11:37 صبح
دوست عزیزم،
در SQL Server دو نوع ایندکس داریم: Clustered و NonClustered.
ایندکس C به طور فیزیکی جدول رو مرتب میکنه لذا وقتی جدول رو باز میکنین، رکوردها بر اساس اون فیلد مرتب شده اند. وقتی PK میسازین، به طور پیش فرض، ایندکس اون از نوع C ساخته میشه پس اطلاعات بر حسب PK مرتب میشه.
ولی در ایندکس NC، اطلاعات در خود جدول مرتب نمیشن و از نظر فیزیکی، ساختار جدول تغییری نمیکنه. بلکه اطلاعات در جای دیگری مرتب و ذخیره میشن.
پس شما باید ببینین ایندکس C در جدول شما روی کدام فیلد قرار داره. و اگر قرار اطلاعات در Query شما بر اساس فیلد دیگه ای مرتب بشه، حتما باید از Order By استفاده کنین.