PDA

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



30yavash
جمعه 25 بهمن 1387, 09:22 صبح
باز و بسته کردن مدام دیتابیس توی کارایی نرم افزار تاثیری نداره؟
توی php ما فقط یک بار توی برنامه دیتابیس رو باز می کردم برای همیشه (pconnect) ، حالا asp چه طور با این موضوع کنار می یاد؟
آیا همیشه باید از SqlDataSource استفاده کنیم یا توی asp هم مثل C# می تونیم از Dataset استفاده کنیم؟ کارایی نرم افزار کم نمی شه؟

milade
جمعه 25 بهمن 1387, 09:57 صبح
باز و بسته کردن مدام دیتابیس توی کارایی نرم افزار تاثیری نداره؟
بستگی به شما داره که چه کار میخواید بکنید .
مثلا اگه میخواید توی یه حلقه For یه سری دیتا جابه جا کنید مطمعنا" بهتره همیشه باز باشه .
اما اگه بین درخواستها وقفه هست بهتره ببندیدش و دوباره باز کنید
توجه داشته باشید که وقتی شما به یه بانک وصل میشید ، یه سشن دارید ، و این سشن اگه تعدادشون زیاد بشه افت شدید کارایی رو به همراه داره .

توی php ما فقط یک بار توی برنامه دیتابیس رو باز می کردم برای همیشه (pconnect) ، حالا asp چه طور با این موضوع کنار می یاد؟
PHP زیاد کار نکردم ، اما توی ASP هر کاری بخواید میتونید بکنید ، میشه همیشه کانکت شد ، یا لحظه ای .

آیا همیشه باید از SqlDataSource استفاده کنیم یا توی asp هم مثل C# می تونیم از Dataset استفاده کنیم؟ کارایی نرم افزار کم نمی شه؟
نه ، میتونید از دیتاست بهره ببرید ، اما توی کد نویسی ممکنه اشتباه کنید ، اما توی ویزاردها احتمال اشتباهات 0 است
موفق باشید

30yavash
جمعه 25 بهمن 1387, 10:56 صبح
بستگی به شما داره که چه کار میخواید بکنید .
مثلا اگه میخواید توی یه حلقه For یه سری دیتا جابه جا کنید مطمعنا" بهتره همیشه باز باشه .
اما اگه بین درخواستها وقفه هست بهتره ببندیدش و دوباره باز کنید
توجه داشته باشید که وقتی شما به یه بانک وصل میشید ، یه سشن دارید ، و این سشن اگه تعدادشون زیاد بشه افت شدید کارایی رو به همراه داره .
1-فرض کندر یک صفحه aspx من از ویزارد استفاده کردم و اخبار رو با استفاده از SqlDataSource از دیتابیس می گیرم و توی Repeater یا GridView نشون می دم حالا اگر حداقل 1000 بازدید کننده در یک روز از اون صفحه بازدید کنن آیا به سیستم فشار نمی یاد؟

2-آیا با هر بار استفاده از SqlDataSource دیتابیس به طور خودکار باز و بسته می شه؟

3-من هنوز به درستی محل کاربرد SqlDataSource رو نمی دونم.آیا می شه با SqlDataSource همه کار کرد؟
مثلا من دیدم SqlDataSource که با ویزارد ساخته می شه باید حتما یه دستور SELECT داشته باشه.حالا اگر من فقط به خام Insert کنم تکلیفم چیه؟نباید از ویزارد SqlDataSource استفاده کنم؟(در حال حاضر این کار رو به صورت کدنویسی دستی انجام می دم)

baran_mehr
شنبه 26 بهمن 1387, 16:25 عصر
چرا عزیز دلم میتونی استفاده کنی.
خوب دستور Select رو پاک کن و برو تو قسمت Insert و اونجا کدتو مشخص کن و بعدش کافی هر جا که خواستی استفاده کنی بنویسی مثلا:

SqlDataSource1 .Insert()
موفق و پیروز باشی گلم

30yavash
دوشنبه 28 بهمن 1387, 10:50 صبح
1-فرض کندر یک صفحه aspx من از ویزارد استفاده کردم و اخبار رو با استفاده از SqlDataSource از دیتابیس می گیرم و توی Repeater یا GridView نشون می دم حالا اگر حداقل 1000 بازدید کننده در یک روز از اون صفحه بازدید کنن آیا به سیستم فشار نمی یاد؟

2-آیا با هر بار استفاده از SqlDataSource دیتابیس به طور خودکار باز و بسته می شه؟

baran_mehr
دوشنبه 28 بهمن 1387, 11:04 صبح
مسلما فشار میاره به سرور.
این مشکلت که تعداد کاربرات زیاده رو میتونی با Caching حل کنی.من خودم دارم در مورد پرس و جو میکنم.
این پست رو مطالعه کن.
سوال درباره کش (http://barnamenevis.org/forum/showthread.php?t=147845)