PDA

View Full Version : سوال: کدامیک درست تر است ؟؟



Amiram
سه شنبه 28 مهر 1388, 10:19 صبح
سلام
تعدادی جدول داریم و می خواهیم استفاده های گوناگون از این جدول ها کنیم و همچنین نیاز به تعدا زیادی Join بینه این جدول ها داریم .
حالا کدامیک از این دو روش درست تر است :
1. یک Viewی بزرگ تعریف کنیم و بر حسب نیاز از روی این View ستون هایی که داریم را انتخاب کنیم .
2. برای هر کاری که داریم Query جدید تعریف کنیم .

amin_alexi
سه شنبه 28 مهر 1388, 12:37 عصر
بهتره برای هر کاری یک Query جدید تعریف کنی !
چون هر Join و هر فیلد اضافه در نتیجه و زمان اجرای Query تاثیر گذاره ...

Amiram
چهارشنبه 29 مهر 1388, 08:35 صبح
بهتره برای هر کاری یک Query جدید تعریف کنی !
چون هر Join و هر فیلد اضافه در نتیجه و زمان اجرای Query تاثیر گذاره ...

من خودم هم با این که برای هر چیزی یک Query جدید بنویسم موافقم اما من یه برنامه تحویل گرفته ام که View های بزرگ بزرگ داره که بیشتره کارها را با همین View ها انجام میده .
مثلا از روی این View یه View دیگه می زنه که Group By می زنه روش و یا تعداد قابل توجهی Stored Procedure نوشته که از این View بزرگه استفاده می کنه .
پس شما هم می گید که جدا جدا نوشتن بهتره ؟؟

یه نکته ای که این کاری که انجام دادن داره که من رو به شک انداخت و اونم اینه که تغییرات در این حالت راحت تره ، به این صورت که اگه یه ستون رو بخوایم کم یا زیاد کنیم لازم نیست بریم تمام Query ها رو تغییر بدیم و تغییر همون View اصلی کافیه .

حالا اگه باز هم نظری داشته باشید خوشحال می شم بدونم .

amin_alexi
چهارشنبه 29 مهر 1388, 09:01 صبح
آره این موضوع که تغییرات در اون راحتتر و سریعتره که درسته
حالا شما سعی کن به جای یک View کلی از چند View استفاده کنی و یه جورایی گروه بندی کنی و برای اونهایی که تعداد فیلدهای مشابهی رو استفاده می کنند از یک View استفاده کنی!
این جوری هم یک مقدار کارت راحتتره ...
ولی باید دقت کنی که فیاد ها رو درست انتاب کنی تا یک View سنگین نشه و اگه فیلدی رو نیاز نداری تو View نیاری !

Amiram
چهارشنبه 29 مهر 1388, 10:01 صبح
آره این موضوع که تغییرات در اون راحتتر و سریعتره که درسته
حالا شما سعی کن به جای یک View کلی از چند View استفاده کنی و یه جورایی گروه بندی کنی و برای اونهایی که تعداد فیلدهای مشابهی رو استفاده می کنند از یک View استفاده کنی!
این جوری هم یک مقدار کارت راحتتره ...
ولی باید دقت کنی که فیاد ها رو درست انتاب کنی تا یک View سنگین نشه و اگه فیلدی رو نیاز نداری تو View نیاری !

ممنون از جواب هاتون .
من خودم دارم برای هر کدوم از کارهای جدید یه Stored Procedure استفاده می کنم چون همون جوری که شما گفتید بهتره از View های با تعداد ستون زیاد استفاده نشه که متاسفانه شده مثلا یه Stored Procedure داره که از یک View استفاده کرده و اون View هم از یه View دیگه که به نظر من اشتباهه . البته ممکنه من اشتباه کنم و اصولش همین باشه برای همین سوال کردم .
ناگفته نماند که تعداد زیادی Stored Procedure داره این پایگاه داده که داره همین کار رو انجام میده .