PDA

View Full Version : سوال: افزایش سرعت برنامه



Namazi1343
جمعه 19 خرداد 1391, 16:24 عصر
سلام. یه برنامه ای نوشتم که از بانک اطلاعاتی SQL2008R2 استفاده میکنه و معمولا پنج یوزر از اون استفاده میکنن. متاسفانه سرعتش خیلی کمه. خودم فکر میکنم از نحوه استفاده از دیتاست باشه. تو هر فرم اطلاعات لازم را با استفاده از دستور Fill تو دیتابیس قرار می دم. اطلاعات معمولا از چند Table جمع آوری میشه و مرتب هم باید Refresh بشه تا آخرین اطلاعات رو داشته باشم. بعضی اوقات هم باید به اون چند فیلد اضافه بشه که با توجه به سایر فیلدها مقادیرشون محاسبه میشه. ممنون میشم راه حل سریعتری رو معرفی کنید.

barnamenevisforme
جمعه 19 خرداد 1391, 16:53 عصر
سلام
تا جایی که امکان داره از دستورات query مخصوصا در ابتدای load شدن فرم استفاده نکنید و اجازه بدید کاربر اونو بر اساس جستجو به دست بیاره،فکر کنم شما فقط نیاز دارین که تعداد ریکورهای حاصل از یه query رو به دست بیارید که مرتب اونو رفرش میکنید.خوب توی editdataset in designer یه tableadapter اضافه کنید(در مورد اون مردی که از چند جدول اطلاعات جمع آوری میکنه)
و فقط یه item مثل id رو برگردونید و بعد تعداد dataset.datatable.count رو محاسبه کنید.
در ضمن شاید نیازی نباشه که بعد از هر بار تغییر همه ریکوردها رو بازخونی کنید.مثلا میتونید 1000 سطر آخر جدول رو برگردونید.

SELECT TOP 1000 *
FROM tble1
ORDER BY id DESC
البته همه گفته های بنده بر اساس یه تصوره و شاید منطق برنامه شما چیز دیگه ای رو حکم کنه.

Namazi1343
جمعه 19 خرداد 1391, 17:23 عصر
با تشکر از پاسخ شما.
در فرمهای برنامه معمولا فیلدهای زیادی مورد استفاده قرار میگیره نه فقط تعداد اونا. چون اصولا هر فرم برای استفاده از اطلاعات اون باز میشه به ناچار باید در load فرم دیتا آداپتور پر بشه. همزمان هم ممکه یه کاربر دیگه تغییری تو اطلاعات بده که باید از اونم تو این فرم استفاده بشه بنابراین refresh کردن مداوم، مورد نیازه.

barnamenevisforme
جمعه 19 خرداد 1391, 17:42 عصر
سلام
ولی چیزی که مسلمه اینه که کاربر در آن واحد نیاز نداره یا قادر نیست همه اطلاعات رو ببینه و یا ویرایش کنه.معمولا کاربر اطلاعات مورد خاصی رو پیگیری میکنه.
به همین خاطر تا جایی که ممکنه باید اطلاعات موقع refresh شدن فیلتر بشن(بنا به نیاز کابر).
البته اینو هم یاداوری میکنم که انتخاب یه event مناسب در موقع تغییر مقدار یه فیلد،در جدول های رابطه ای برای تبدیل id متناظر به اطلاعات قابل فهم کاربر
از اهمیت زیادی برخورداره.