View Full Version : ایندکس برای ساختار زیر
mehr_83
شنبه 11 خرداد 1392, 15:23 عصر
با سلام
برای ساختار زیر ایندکس باید چطوری باشه؟
http://upload7.ir/images/82134108718806656780.png
در دیزاین جداول راست کلیک کنم و Id همه جدول ها رو به عنوان ایندکس انتخاب کنم حله؟
اگر جداول ایندکس داشته باشند این ایندکس در View و SP هم خود به خود اعمال میشه؟
Salah Sanjabian
شنبه 11 خرداد 1392, 15:53 عصر
سلام دوست عزیز بستگی داره نوع ایندکس وکاری که میخوای انجام بدی . مثلا الان شما داری Clustred Index رو 2 تا از جدول هات رعایت کردی چون به محض این که Primary Key رو تعریف می کنی Clustred Index توسط Sql Server ساخته میشه. واسه نوع دیگر ایندکس که NonCLustred Index هست بیشتر رو ستون هایی اعمال میشه که ما رو اون ستون داریم Where میزنیم البته نه همیشه. مبحث Index ها مبحث کاملی هست.انواع دیگر Index رو میتونی سرچ کنی
این 2 تا مقاله رو هم میتونی مطالعه کنی
https://www.simple-talk.com/sql/learn-sql-server/using-covering-indexes-to-improve-query-performance/
https://www.simple-talk.com/sql/performance/simple-query-tuning-with-statistics-io-and-execution-plans/
mehr_83
شنبه 11 خرداد 1392, 16:13 عصر
ممنون از پاسختان یعنی در جدول bsi رو ستون هایی که میخوام where بزنم ایندکس بزارم؟
mehr_83
شنبه 11 خرداد 1392, 16:21 عصر
این ایندکس ها در View و SP ها هم اعمال میشه؟
Salah Sanjabian
شنبه 11 خرداد 1392, 16:27 عصر
میتونی اینکاروبکنی . ولی مبحث Index و Tunning واسه خودش مباحث گسترده ای هست و فقط تو یک تاپیک نمیشه بهش پرداخت . بله اعمال میشه چون شما تو SP ها و View ها داری از ساختار اینکس ها استفاده می کنی
mehr_83
شنبه 11 خرداد 1392, 16:55 عصر
اگر برای جندین فیلد ایندکس گذاشته بشه مشکلی پیش نمیاد؟
Salah Sanjabian
شنبه 11 خرداد 1392, 19:54 عصر
منظورت اینه که رو چند تا فیلد با هم ایندکس داشته باشی؟ میشه اینکارو هم انجام بدی . جدا هم میتونی رو ستون هات ایندکس رو اعمال کنی.
تو اس کیوال سرور 2005 شما میتونی 250 ایندکس داشته باشی و تو اس کیوال 2008 1000 تا ایندکس . شما فقط یک ایندکس Clustered به ازای هر جدول میتونی داشته باشی ولی Non Clustred اینجور نیست
Clustered Index + 249 Nonclustered Index = 250 Indexe
Clustered Index + 999 Nonclustered Index = 1000 Index
FastCode
شنبه 11 خرداد 1392, 20:02 عصر
من یک چیز دیگه رو نمیفهمم
چرا باید subgroupid رو در bsi داشته باشید؟اگر علتش رو توضیح بدید یک راه حل بهتر بهتون پیشنهاد میدم.
mehr_83
شنبه 11 خرداد 1392, 20:42 عصر
نباید باشه. اشتباهی درج شده.
FastCode
شنبه 11 خرداد 1392, 21:31 عصر
به نظر من قبل از ادامه تاپیک راجع به 1NF تا 3NF تحقیق کنید.4NF هم بد نیست ولی بیش تر از ۳ برای این تعداد جدول لازم نیست.
مطالب Wikipedia و MSDN برای فهمیدن موضوع کافی هستن.
fakhravari
یک شنبه 12 خرداد 1392, 01:40 صبح
http://barnamenevis.org/showthread.php?400833-%D8%B3%D9%88%D8%A7%D9%84-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-index-%D9%87%D8%A7
ASKaffash
یک شنبه 12 خرداد 1392, 06:47 صبح
من یک چیز دیگه رو نمیفهمم
چرا باید subgroupid رو در bsi داشته باشید؟اگر علتش رو توضیح بدید یک راه حل بهتر بهتون پیشنهاد میدم.
سلام
اتفاقا درست است ولی باید groupid حذف شود و در جدول subgroup باید روی groupid ایندکس و در جدول bsi روی subgroupid و چند چیز دیگر که به update و delete و select های خاص وابسته است اضافه گردد (این حداقل ایندکس هاست)
mehr_83
یک شنبه 12 خرداد 1392, 13:07 عصر
Subgroupid باید باشه من فکر کردم groupid رو میگین. در bsi فیلد groupid باید حذف بشه.
آپشن های ایندکس رو چی انتخاب کنم بهتر جواب میده؟ این دیتابیس بشدت بزرگ خواهد شد.
mehr_83
یک شنبه 12 خرداد 1392, 14:45 عصر
برای کلیدهای اصلی دیگه ایندکس نذارم؟
FastCode
یک شنبه 12 خرداد 1392, 16:19 عصر
امان از حافظه.از زمانی که نمودار رو دیدم تا زمانی که پست بدم قاطی کردم.
ASKaffash
دوشنبه 13 خرداد 1392, 06:48 صبح
سلام
در جدول bsi باید دستورات Select اصلی را معلوم کنید تا برروی سایر ایندکس ها بحث شود فعلا تا همین مقدار کافیست.
Subgroupid باید باشه من فکر کردم groupid رو میگین. در bsi فیلد groupid باید حذف بشه.
آپشن های ایندکس رو چی انتخاب کنم بهتر جواب میده؟ این دیتابیس بشدت بزرگ خواهد شد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.