PDA

View Full Version : سلکت دیتا تیبل به این روش ...



yavari
چهارشنبه 30 آبان 1386, 14:16 عصر
سلام

به نظر میاد این امکان رو داشته باشیم که بدون Stored Procedure بتونیم کوئریهای مدنظرمونو اعمال کنیم، به عبارتی مستقیما رو تیبلها کار کنیم .

http://f-yavar.persiangig.com/image/dataset.JPG

از دوستان ، اگه کسی اینجوری کار کرده و یا تجربه ای داره ممنون میشم ارائه کنه ، ضمن اینکه مایلم مزایا و معایب این روش نسبت به روشهای دیگه رو بدونم . :متفکر:

با احترام

ir_programmer
چهارشنبه 30 آبان 1386, 15:01 عصر
سلام

به نظر میاد این امکان رو داشته باشیم که بدون Stored Procedure بتونیم کوئریهای مدنظرمونو اعمال کنیم، به عبارتی مستقیما رو تیبلها کار کنیم .


تنها راه کوئری گرفتن که Store Procedure نیست!
این روش بیشتر بدرد زمانی می خوره که بخوای از خصوصیات Master/Detail در فرمهات استفاده کنی. مزیت Store Procedure رو نمیشه ناچیز دونست.

yavari
پنج شنبه 01 آذر 1386, 09:44 صبح
تنها راه کوئری گرفتن که Store Procedure نیست!
این روش بیشتر بدرد زمانی می خوره که بخوای از خصوصیات Master/Detail در فرمهات استفاده کنی. مزیت Store Procedure رو نمیشه ناچیز دونست.

سلام

ممنون دوست عزیز
حق با شماست !
در ضمن ، خوشحال میشم بیشتر این روش رو مقایسه کنید و اینکه آیا میشه تو یه پروژه بزرگ رو این روش حساب کرد یا نه ؟ در کل مزایا و معایب این روش رو میخوام بدونم . :تشویق:

بازم ممنونم

MohammadSoft
جمعه 02 آذر 1386, 00:48 صبح
سلام
من جدیدا به خاطر ضروریات یک پروژه خاص با TypedDataset ها کار کردم و قبلا به همان شیوه معمول SP و Command کار می کرد م .
نکاتی که به نظرم میرسه رو عرض می کنم :
TypedDataSet برنامه نویسی را بسیار راحت می کنند و کار برنامه نویس را بسیار کم می کنند و از جهاتی هم استاندارد تر هستند ،چون یک روش مشخص دارند و شما دیگر لازم نیست نگران مسائل مختلفی مثل مدیریت Connection و ... باشید .
ولی هر تسهیلی بدون هزینه نیست و هزینه استفاده از TypedDataSet تا حدودی کم شدن سرعت و کارایی است به خصوص در محیط های توزیع شده ، چون Dataset برای اعمال تغییرات روی پایگاه داده 3 نسخه از اطلاعاتش را نگه می دارد و انتقال این اطلاعات مسلما روی سرعت و کارایی تاثیر دارد .البته این یکی از دلایل این موضوع بود .
امیدوارم مفید بوده باشه براتون .
ارادتمند : محمد زنگنه

AminSobati
یک شنبه 04 آذر 1386, 00:12 صبح
زمانی که یک Query ثابت باشه و فقط پارامترهای اون تغییر کنه، هر بار Query باید Compile بشه. صرف نظر از این هزینه، قسمت قابل توجهی از حافظه توسط Plan Cache صرف میشه. یعنی هر پارامتر جدید مساویست با یک کپی دیگه از Plan همون Query در حافظه. بعنوان مثال، در سرور یک شرکت که 6 گیگابایت حافظه موجود بود و 5.7 از اون توسط SQL Server اشغال شده بود، فقط 1.5 گیگابایت رو Plan Cache در اختیار داشت. وقتی syscacheobjects رو نگاه کردم، صدها Query مثل هم وجود داشت که فقط پارامترهای اونها تفاوت میکرد.
اما SP فقط یک Plan براش بدست میاد و هر چند بار که با پارامترهای مختلف فراخوانی بشه، همون Plan مورد استفاده قرار میگیره. لذا در مورد اون مثال، با یک حساب سر انگشتی میشد تخمین زد که اگر تمام این Queryها در SP قرار بگیرند، فضای اشغال شده توسط Plan Cache باید به یک دهم یعنی حدود 150 مگابایت برسه.
این دیدگاه مطلقا دیتابیسی هست و من منکر قابلیتهای VS نمیشم چون واقعا زمان Develop رو کاهش میده. فقط قصد داشتم شما رو از اتفاقی که در پس پرده رخ میده مطلع کنم! تولید نرم افزار Scalable زحمت داره!