PDA

View Full Version : سوال: استفاده از Viewها تا چه اندازه ؟



Modifier
چهارشنبه 29 اردیبهشت 1389, 16:22 عصر
سلام

توی بعضی پروژه در بعضی شرکت ها از ویو خیلی استفاده میکنند...

حتی بعضی وقتها دیاگرام ها نمیکشند و به همون روابط در ویوها بسندده میکنند...

تا چه حد باید از ویو استفتاده کرد؟

آیا معیبی توی استفاده بیش از اندازه ی اون هست ؟

با تشکر...

یا علی

AminSobati
چهارشنبه 29 اردیبهشت 1389, 17:11 عصر
سلام دوست عزیزم،
View به تنهایی ملاک کند تا سریع شدن دیتابیس نیست. در حقیقت همیشه نقش Derived Table رو بر عهده داره و شما میتونین به جای استفاده از View، همیشه اصل Query رو قید کنین. اما طبعا Query که پرکاربرد هستش میتونه مثل یک Named Query تلقی بشه و ازش View بسازین. این مزیت رو داره که در صورت نیاز به تغییر (فرضا تغییر Alias یک ستون)، تنها تغییر در View میتونه تمام بخشهایی که ازش استفاده کردن رو به روز کنه. در حالیکه اگر از اصل Query استفاده کرده باشین، همه این موارد باید اصلاح بشن.
البته View کاربردهای دیگه ای هم فراتر از صرفا Named Query داره، ولی ظاهرا سوال شما به این موارد منوط نیست.
از طرفی وقتی برنامه نویس با یک View برخورد میکنه، باید به اصل View رجوع کنه تا متوجه بشه چه اتفاقی داخلش داره میافته. در حالیکه وجود اصل کوئری، این ارجاع به View رو منتفی میکنه. لذا توصیه میکنم Queryهای پرکاربرد رو به View تبدیل کنید و به صورت افراطی استفاده نشه.

Modifier
شنبه 01 خرداد 1389, 15:23 عصر
... و به صورت افراطی استفاده نشه.

یعنی از view افراطی استفاده نکنیم...

برای چی؟

راستش توی شرکتی که کار میکنم...آقای مدیر ما رو مجبور کرده اکثر کار ها رو با view انجام بدیم...

AminSobati
شنبه 01 خرداد 1389, 22:40 عصر
منظور از "استفاده افراطی" این هست که اگر یک Query بارها و بارها مورد استفاده قرار میگیره تبدیل بشه به View، نه کوئریی که یک بار میخواین اجرا کنین براش View بسازین. بعضا به اشتباه تصور میکنند استفاده از View سرعت رو بالا میبره.

programer1389
یک شنبه 02 خرداد 1389, 07:25 صبح
یعنی از view افراطی استفاده نکنیم...

برای چی؟

راستش توی شرکتی که کار میکنم...آقای مدیر ما رو مجبور کرده اکثر کار ها رو با view انجام بدیم...

احتمالا مدیرتون میخواهد دستورات sql رو دراختیار داشته باشه منظورم ارتباط بین جداول و...
هست چون معمولا از یک نرم افزار واسط بین کاربر و بانک اطلاعاتی استفاده میشه البته ببخشید اینها رو گفتم مسلما شما زا من وارد تر هستین