PDA

View Full Version : پایین آمدن سرعت برنامه تحت شبکه با 2000 Sql Server



shgroup
پنج شنبه 11 تیر 1388, 16:54 عصر
سلام
دوستان ما یک برنامه تحت شبکه با Sql Server 2000 پیاده سازی کردیم و مشکلی تو این زمینه نداریم و حتی برنامه در کلاینت زود بالا میاد و فرمهایی هم که Delete و Select و Update می کنند به راحتی و با سرعت بالایی اجرا می شن اما فرمهای دیگه مثل گزارشات و یا فرمهایی که محاسباتی رو انجام می دن با کندی زیاد البته برخی اوقات در دفعات اول و یا بعد از چند لحظه که با برنامه کار نمی کنیم و باز دوباره یک گزارش رو فراخوانی می کنیم این مشکل وجود داره ! البته این رو هم بگم که در فرمهایی که محاسباتی رو انجام می دن و بعد اطلاعات رو نمایش می دن رو در خود فایل exe که در کلاینت هم هست انجام می دیم نه در بانک یعنی اطلاعات رو از دیتابیس می خونیم بعد در خود فایل exe که در کلاینت اجرا می شه محاسبات رو انجام می دم و نتیجه را نمایش می دیم .
دوستان اگه کسی تجربه تو این زمینه داره لطفا کمکم کنه ممنون می شم
در این برنامه تحت شبکه از امکانات و ابزارهای زیر استفاده شده :
Sql server 2000
VS.net 2005
Crystal Report.net

Soroush.Sarabi
پنج شنبه 11 تیر 1388, 17:42 عصر
دوست عزیز من میتونم کمکتون کنم.

shgroup
پنج شنبه 11 تیر 1388, 19:46 عصر
Soroush.Sarabi عزیز جدی می گی ؟!
می تونی تو این تاپیک بگی چه طوری یا من باید با شما صحبت کنم ؟

Nima NT
پنج شنبه 11 تیر 1388, 20:07 عصر
یکی از راههای افزایش سرعت استفاده از Stored Procedure ها هست , یعنی محاسبات تو سرور پایگاه داده انجام بشه نه تو client.
البته کندی برنامه میتونه علت های دیگه از جمله استفاده از کامپوننت ها و نمادهای گرافیکی سنگین هم داشته باشه.
البته خود برنامه Crystal Report.net کمی کند هست و میتونه از این بابت هم باشه ( البته اگر فقط مشکل در گزارشات باشه که گویا نیست ).
اگر مشکل از Crystal Report.net بود , بعتره از Fast Report.NET استفاده کنید که هم فارسی هست و هم سرعت بهتری داره.

shgroup
پنج شنبه 11 تیر 1388, 20:43 عصر
یکی از راههای افزایش سرعت استفاده از Stored Procedure ها هست , یعنی محاسبات تو سرور پایگاه داده انجام بشه نه تو client.
البته کندی برنامه میتونه علت های دیگه از جمله استفاده از کامپوننت ها و نمادهای گرافیکی سنگین هم داشته باشه.
البته خود برنامه Crystal Report.net کمی کند هست و میتونه از این بابت هم باشه ( البته اگر فقط مشکل در گزارشات باشه که گویا نیست ).
اگر مشکل از Crystal Report.net بود , بعتره از Fast Report.NET استفاده کنید که هم فارسی هست و هم سرعت بهتری داره.

دوست عزیز بینهایت از راهنمایی شما ممنونم ، شاید همین طور که شما می گید باشه باید تست کنم ببینم با Stored Procedure می تونم مشکل رو حل کنم البته مطمئن هستم که مشکل از کامپوننت ها و نمادهای گرافیکی نیست چون من این مسئله رو توی برنامه و فرم ها رعایت کردم
دوستان اگه کسی نظر دیگه ای داره از من دریغ نکنید ممنونم.

m0rteza
پنج شنبه 11 تیر 1388, 23:22 عصر
از دست کریستال !!!! خیلی خیلی کنده

دوستمون در مورد Fast report درست می گن . خیلی قدرتمند تره . ولی من به شما پیش نهاد می کنم از report viewer استفاده کنید .

زیاد این کندی رو گردن 2000 نندازین . دیوار های بزرگتری هم برای گیر دادن وجود داره .

Pasha Sanat
جمعه 12 تیر 1388, 02:05 صبح
سلام
بايد عرض کنم من يک نرم افزار آماری نوشتم و تمام محاسبات رو در SQL Server انجام دادم ولی هنوز سرعت مناسبی ندارم.
البته محاسبات سنگينی در نرم افزار انجام می شود.

shgroup
شنبه 13 تیر 1388, 10:18 صبح
در مورد دوست عزیزم که فرموده بودند از fast report اسفاده کنم من یه تحقیقی کردم فهمیدم امکانات کریستال رو نداره مثلا تو fast report نمی تونیم از Group استفاده کنیم !
همچنین از Store Procedure هم نمی شه استفاده کرد چون محاسباتی که تو برنامه استفاده کردم اصلا قابل اجرا در sql نیست یا حداقل بسیار محدوده و کاری رو از پیش نمی بره.
البته دوستان من گزارشاتیم بیشتر دیر لود می شه که از group در اونها استفاده کردم
اگه راهکاری تو این زمینه دارید لطفا بگید ممنون میشم
تو کریستال هم از نمادهای گرافیکی و عکس خیلی خیلی کم استفاده کردم و همون طور که گفتم در PC سرعت معقولی واسه لود داره اما تو شبکه خیلی کنده !

keivan mousavi
شنبه 13 تیر 1388, 11:05 صبح
دوست عزیز من این مشکلو قبلآ داشتم ربطی به SQL نداره شاید نوع کد نویسیت غلط بوده مثلآ از متغیرهای بزرگ استفاده کردی و یک سری موارد ریز برنامه نویسی مثلا از یک TABEL با چندیدن درگ استفاده کردی ه خود این هم برنامه رو کند میکنه البته جعفرنژادقمی تو کتابش میگه MY SQOL از SQL SERVER کندتر

درمورد کریستال ریپورتز این نرم افزار ذاتاً کنده و هیچ کاریش نمیشه کرد

اما من توصیحه مینم کار منو انجام بدی هر چند وقت یکبار از داده های موجود SQL یک بکاپ بگیری و داده هایی که لازم نیستو حذفش کنی
روی نوشتن سورس کد هم بیشتر دقت کن به این سایت هم مراجعه کن


www.w3schools.com (http://www.w3schools.com)

mpmsoft
شنبه 13 تیر 1388, 11:55 صبح
یکی از راههای افزایش سرعت استفاده از Stored Procedure ها هست

این روش تاثیری در سرعت عمل ندارد و کاربرد دیگری دارد همچون انجام محاسبات و گزارشات تو در تو
ترجیحا کریستال رو بصورت مستقیم با بانک وصل نکن چون سرعت کریستال پایین هست
شما در برنامه Datasource رو به کریستال پاس بدید بهتره (تجربی)