PDA

View Full Version : کند بودن نرم افزار ساخته شده در حین اجرا



jmfnima
چهارشنبه 25 آبان 1390, 20:35 عصر
با سلام به همه دوستان
من یک بانک اطلاعاتی با استفاده از دیتا بیس اکسس و سی شارپ نوشتم به طوری که دیتابیس بر روی سرور قرار داره و کاربران مختلفی از اون استفاده میکنن .
همچنین طریقه برنامه نویسی من به روش چند لایه هست که کدهای اتصال به بانک و کدهای اس کیو ال رو من در کلاس هایی نوشتم و در هر فرم متدهای نوشته شده در کلاس رو فراخوانی میکنم حالا مشکل من اینه که با وجود اینکه از این روش کدنویسی استفاده میکنم ولی سرعت برنامه کند هست و حتی فکر میکردم شاید ایراد از سرور باشه و دیتابیس رو روی هارد سیستم گذاشتم سرعت اون بهتر شد ولی باز هم کند بود . در ضمن رکوردهای وارد شده در دیتا بیس زیاد نیست .
لطفا از دوستان هر کسی میتونه به من کمک کنه .

Mahmoud Zaad
چهارشنبه 25 آبان 1390, 21:19 عصر
سلام
اکسس توی شبکه ضعیف هست بهتر بود از اس کیو ال سرور استفاده می کردی به نظر من ایراد از خود اکسس هست.

masoudmok
چهارشنبه 25 آبان 1390, 22:23 عصر
سلام دوست عزیز
شاید دیتا بیست نیاز به نرمال سازی داره . معمولا اکسس و اس کیو ال توی تعداد پایین فیلد از نظر زمانی با هم تفاوت چندانی ندارن . دارن ولی به این راحتی قابل تشخیص نیست .

jmfnima
پنج شنبه 26 آبان 1390, 13:04 عصر
با سلام و تشكر از دوستان عزيز
دوستان مي فرمايند كه اكسس تحت شبكه ضعيف عمل ميكنه ولي جالب اينه كه با وجود اينكه ديتابيس ها روي هارد هم كه گذاشتم به سرعت برنامه مقداري اضافه شد ولي باز هم سرعتش پائينه مثلا در زمان لود فرم هاي چيزي در حدود 10 ثانيه زمان مي بره تا اجرا بشه و يا اينكه در زمان ثبت و ويرايش اطلاعات هم بعد از چند ثانيه مكث عمليات انجام ميشه . !!!!!

pooria_googooli
جمعه 27 آبان 1390, 00:26 صبح
از کامپوننت هایی مثل devیا telerik استفاده نکردی؟

zarrinnegar
جمعه 27 آبان 1390, 00:34 صبح
با سلام و تشكر از دوستان عزيز
دوستان مي فرمايند كه اكسس تحت شبكه ضعيف عمل ميكنه ولي جالب اينه كه با وجود اينكه ديتابيس ها روي هارد هم كه گذاشتم به سرعت برنامه مقداري اضافه شد ولي باز هم سرعتش پائينه مثلا در زمان لود فرم هاي چيزي در حدود 10 ثانيه زمان مي بره تا اجرا بشه و يا اينكه در زمان ثبت و ويرايش اطلاعات هم بعد از چند ثانيه مكث عمليات انجام ميشه . !!!!!

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

jmfnima
جمعه 27 آبان 1390, 14:17 عصر
با تشکر از دوستان عزیز
من روی بعضی از فرم هام از کامپوننت dev استفاده کردم و جایی دیده بودم که باعث کند شدن برنامه میشه به همین خاطر از روی فرم هام کنترل های این کامپوننت رو پاک کردم ولی باز هم نشد و حتی دومرتبه از همون فرم یکی دیگه ساختم و فرم قبلی رو پاک کردم ولی باز هم نشد نمیدونم دلیلش چیه .
البته ناگفته نمونه که این برنامه من تلفیقی از 4 پروژه هست که و حتی توی پوشه bin چهار تا فایل exe هست و نمی دونم که ایا این کار باعث کندی برنامه میشه یا نه ؟؟؟

ma.rad
جمعه 27 آبان 1390, 15:36 عصر
احتمال زیاد اشکال در طراحی دیتابیس شماست . مثل مورد نرمال سازی که دوستمون اشاره کرد.

jmfnima
جمعه 27 آبان 1390, 20:43 عصر
فکر میکنم منظور از نرمال سازی اینه که نوع دیتا برای ستون ها رو درست انتخاب کنیم ولی اینکار رو هم کردم اگه منظور شما عزیزان از نرمال سازی دیتابیس چیز دیگه ای است لطفا منو راهنمایی کنین .
و يك سوال ديگه اينه كه اگه اكسس 2007 روي سيستمي كه ديتابيس روي اون قرار داره نصب كنم ايا روي سرعت برنامه تاثير داره يا خير؟؟
و سوال بعدي من اينه كه در زمان نوشتن كدهاي اس كيو ال براي فراخواني اطلاعات از ديتابيس ، اطلاعات مستقيما از تيبل ها خونده ميشه ، حال اگه براي خوندن اطلاعات از كوئري استفاده بشه ايا تاثير در سرعت برنامه داره يا خير ؟؟؟

mmd2009
شنبه 28 آبان 1390, 22:05 عصر
فکر میکنم منظور از نرمال سازی اینه که نوع دیتا برای ستون ها رو درست انتخاب کنیم ولی اینکار رو هم کردم اگه منظور شما عزیزان از نرمال سازی دیتابیس چیز دیگه ای است لطفا منو راهنمایی کنین .


منظور از نرمال سازی این نیست که شما باید نوع دیتا رو برای ستون ها درست انتخاب بکنید

نرمال سازی بانک اطلاعاتی یک فرایند تکرار پذیر هست که به طور معمول 3 مرحله داره 1nf ، 2nt و 3nf البته بنده دیدم که در برخی جاها مراحل رو بیشتر هم کردن ولی عموما باید 3 مرحله اول حتما طی بشن و مراحل بعدی دنباله مرحله 3nf هستند. در نرمال سازی شما هر بار ممکن است با یک موجودیت جدید رو به رو بشید. به زبان خیلی ساده نباید بانکتون رو زیاد شلوغش کنید و تا جایی که میتونید اون رو تکه تکه کنید

این کار باعث میشه که داده ها یکپارچه باشن و از افزونگی جلوگیری میکنه. یا به طور کلی میشه گفت هدف کلی نرمال سازی همین 2 مورد هست که گفتم.



و يك سوال ديگه اينه كه اگه اكسس 2007 روي سيستمي كه ديتابيس روي اون قرار داره نصب كنم ايا روي سرعت برنامه تاثير داره يا خير؟؟

خیر. چرا باید تاثیر داشته باشه و سرعت برنامه رو کم بکنه ؟


و سوال بعدي من اينه كه در زمان نوشتن كدهاي اس كيو ال براي فراخواني اطلاعات از ديتابيس ، اطلاعات مستقيما از تيبل ها خونده ميشه ، حال اگه براي خوندن اطلاعات از كوئري استفاده بشه ايا تاثير در سرعت برنامه داره يا خير ؟؟؟

اگر منظورتون نوشتن SP یا داشت شی view هست باید بگم بله 100% در سرعت برنامه تاثیر داره. کدها در ایتجا قبلا کامپایل شدن و این خودش سرعت برنامه رو افزایش میده. ولی در اکسس ما همچین چیزی نداریم.

موفق باشید