PDA

View Full Version : حرفه ای: کدام روش در ایجاد رابطه بین دو تیبل بهینه تر هست؟



zoghal
دوشنبه 01 مهر 1392, 07:23 صبح
درود بر اساتید بنده.
ممنون می شم در این مورد بنده رو با توجه به تجربیاتتون راهنمایی کنید.

سیستمی رو در نظر بگیرید که :
1- یک جدول مادر . اصلی داره
2- سایر جداول دیگه با جدول مادر می توانند دارای رابطه 1:1 یا n:n باشند.
3- یکسری جداول همیشه با جدول مادر در ارتباط هستند.(حالا هر نوعی رابطه)
4- یک سری هم جداول 3rdPartyها هستند.



برای نگه داری روابط بین جداول دو روش داریم:
روش اول : روش معمول و استاندارد(مثل داشتن یک فیلد برای نگه داری ای دی جدول مرببط و ....)
روش دوم : تو این روش فقط از یک جدول برای تمامی رابطه ها بهره می گیریم. و نیاز نداریم در جداول فیلدی برای نگه داری روابط داشته باشیم.



User[id,name](Type: 1st - Relation: 1:n)

Relations[id,user_id,model,model_id](Type:2st - Relation: n:n)
Parents[id,name,...](Type:2st - Relation: 1:n)

Posts[id,title,...](Type3st - Relation: 1:n)
Groups[id,title,...](Type:3st - Relation: 1:n)
Posts[id,title,...](Type:3st - Relation: 1:n)
Galleries[id,title,...](Type:3st - Relation: 1:n)



صورت مسئله:
با فرض بر ایندکس گذاری و رعایت کلیه اصول پیاده سازی صحیح پیاده سازی شده باشد، وقتی رمانی که تعداد جدول زیاد می شوند در عملیات واکشی هم نیاز به وجود تمامی جداول 3rdParty هست. تعداد جوین ها زده شده به مراتب بیشتر میشه.

سوالات:
1- بازدهی کدام روش در تعداد رکورد های بالا بیشتر هست، سرعت! کمتر مصرف شدن منابع و ...
2- چه مشکلاتی رو در آینده پیشبینی می کنید بوجود بیاد یا محدودیت هایی.
3- شما کدام روش رو ترجیح می دید و چرا.