PDA

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



white fox
جمعه 29 اردیبهشت 1385, 15:54 عصر
با سلام خدمت دوستان خوبم...
من در صفحه اول سایتم نیاز دارم که حداقل نزدیک به 10 بار به دیتابیس وصل بشم و داده هایی که هر کدوم حداکثر 10 رکورد دارن رو بخونم و به صفحه برگردونم...
خوب برای من اینجا سوالی مطرح میشه که چون تجربه عملی ندارم برای داشتن سرعت بهتر....آیا خوبه که مثلا این 10 تا رو با هم یا مثلا به صورت 2 دسته 5 تایی برگردونم و از شون استفاده کنم؟
یا اینکه هر کدوم به صورت جدا برگشت داده بشه و به دیتابیس وصل بشه...
سوال دومم این هست که در این موارد بهتر هست که از SqlDataReader استفاده کنم یا DataSet? ممنون میشم از جواب و راهنمائیتون.

nazaninam
جمعه 29 اردیبهشت 1385, 16:25 عصر
دقیقا توضیح بدید پروژه چیه
برای چی باید 10 بار به دیتابیس وصل شید؟؟؟؟؟؟؟؟؟

white fox
جمعه 29 اردیبهشت 1385, 21:38 عصر
خوب پرژه وبسایت یک شرکت هست....
در صفحه اول خوب من مجبورم برای فراخوانی اطلاعات مختلف از دیتابیس به جداول مختلفی وصل بشم....که این خوب شامل وصل شدن به دیتابیس هم میشه دیگه....
برای همین اون سوالات بالا رو پرسیدم

nazaninam
جمعه 29 اردیبهشت 1385, 22:17 عصر
اگه استفاده از اطلاعات بصورت آفلاین امکان پذیر هست از dataset
میتونید از cach برای خروجی استفاده کنید تا بار کمتر بشه
حواستون به سر ریز pool هم باشه..

manager
جمعه 29 اردیبهشت 1385, 22:29 عصر
دوست من بهتره تا اونجائی که می تونید و امکان داره از SqlDataReader استفاده کنید تا سرعت افزایش و ترافیک کاهش پیدا کنه !!!!
در مورد اتصال به بانک و دریافت داده ها هم برای افزایش کارائی می تونید در دیتابیستون از SP استفاده کنید و همچنین از Cache و برای بازیابی داده ها از SqlDataReader استفاده کنید.

msakbari
جمعه 29 اردیبهشت 1385, 22:34 عصر
به این چند نکته توجه کن
1-اگر قرار است این دادها در صفحات مختلف و بطور یکسان استفاده شوند حتما از dataset استفاده کن حتی میتونی اون دیتا ست ها رو کش کنی که performance بسیار عالی میشه .

2- حتما برای ذخیره این اطلاعات در dataset از sqldataadapter استفاده کن چون به شما اجازه میده که با یکبار connection.open تمام اطلات و query های خود رو بسازید و نیاز به 10 کانکشن نباشد

white fox
شنبه 30 اردیبهشت 1385, 00:35 صبح
من خودم با حرف آقای Manager بیشتر موافقم چون در مقاله ای خوندم که سرعت SqlDataReader بیشتر از DataSet هست اونم به این علت که FastForwardOnly هست و یک ارتباط مستقیم با دیتابیس داره و سریع اطلاعات رو میخونه و میفرسته به برنامه...
اما dataset کل query رو میخونه و در Cache ذخیره میکنه....برای همین سرعتش پائینتره..

از توجه کل دوستان ممنونم.....و نکته مهم برای خودم همون Cache بود که فراموشش کرده بودم.البته من در دیتابیسم و اتصالم به دیتابیس فقط از SP و View ها استفاده کردم از سمت دیتابیس خیالم راحته که اطلاعات رو سریع میفرسته ...فقط نگرانیم بابته همین اتصال مدام به دیتابیس بود. که باید یه فکری برای کش کردنش بکنم...
آقای منیجر چجوری شما SqlDatareader رو همزمان با Cache استفاده میکنید؟ توضیح کوتاهی میدهید؟
باز هم اگر نکته ای به ذهنتون میرسه بگید ممنون میشم.