نمایش نتایج 1 تا 8 از 8

نام تاپیک: تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

  1. #1

    Question تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

    سلام
    (اول بگم که این مطلب رو توی بخش دات نت فریم ورک و در ادامه یک تاپیک دیگه زدم ولی کسی چیزی نگفت)

    من روی یک پروژه که از اکسس استفاده می کنه دارم کار می کنم و تحت شبکه هم هست و مثل همیشه پارامتر سرعت خیلی خیلی مهمه. شنیدم که fill کردن یک دیتاتیبل زمانگیرتره (درواقع گفتن که اگه بصورت دیتاریدر کار کنیم بهتره. درسته؟) و بهتره از روش دیتا ریدر استفاده کنیم. من این موضوع رو دقیق نمی دونستم. در این مورد می خواستم چیزی بدونم و اینکه مثلا توی اکسس چیزی مثل Bulk وجود داره ؟؟ اگه داره توضیح مختصری بدین.
    و اینکه چرا ؟؟ و دلیلش چیه که سرعت دیتاریدر بیشتره؟؟؟ و لطفا یه نمونه کوچک رو هم پیاده سازیش رو توضیح بدین.

  2. #2

    نقل قول: تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

    نقل قول نوشته شده توسط hanieh66 مشاهده تاپیک
    سلام
    (اول بگم که این مطلب رو توی بخش دات نت فریم ورک و در ادامه یک تاپیک دیگه زدم ولی کسی چیزی نگفت)

    من روی یک پروژه که از اکسس استفاده می کنه دارم کار می کنم و تحت شبکه هم هست و مثل همیشه پارامتر سرعت خیلی خیلی مهمه. شنیدم که fill کردن یک دیتاتیبل زمانگیرتره (درواقع گفتن که اگه بصورت دیتاریدر کار کنیم بهتره. درسته؟) و بهتره از روش دیتا ریدر استفاده کنیم. من این موضوع رو دقیق نمی دونستم. در این مورد می خواستم چیزی بدونم و اینکه مثلا توی اکسس چیزی مثل Bulk وجود داره ؟؟ اگه داره توضیح مختصری بدین.
    و اینکه چرا ؟؟ و دلیلش چیه که سرعت دیتاریدر بیشتره؟؟؟ و لطفا یه نمونه کوچک رو هم پیاده سازیش رو توضیح بدین.
    اینکه در کجا و از چه روشی استفاده شود، بسته به برنامه شما و معماری برنامه شما دارد..

    DataReader اطلاعات شما را به صورت Read and forward Only ( فقط خواندنی و قابل باز گشت به عقب هم نیست) در اختیار شما قرار می دهد... علاوه بر این DataReader به صورت Connected داده های شما را fetch می کند...
    در مقابل DataTable و کامل تر از اون یعنی DataSet که میشه گفت یک Mini RDBMS هست، به صورت DisConnected کار می کنند... یعنی پس از برقراری ارتباط با DataSource و گرفتن داده ها از آن، ارتباط خود را با DataSource قطع می کنند.. کار ها انجام می شود، و سپس در صورت لزوم ارتباط مجددی با DataSource شما بر قرار می شود( برای update کردن)

    علاوه بر این می توانید از روش های Async برای Fetch کردن داده ها استفاده نمایید که به performence بالاتری دست پیدا کنید
    موفق باشید

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  3. #3
    کاربر دائمی آواتار jaza_sa
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    546

    نقل قول: تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

    علاوه بر این می توانید از روش های Async برای Fetch کردن داده ها استفاده نمایید که به performence بالاتری دست پیدا کنید
    سلام
    آقای کیانی ، آیا میتونید یکم بیشتر درباره روش Async توضیح بدید؟

    متشکرم

  4. #4

    نقل قول: تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

    نقل قول نوشته شده توسط r.kiani مشاهده تاپیک
    اینکه در کجا و از چه روشی استفاده شود، بسته به برنامه شما و معماری برنامه شما دارد..

    DataReader اطلاعات شما را به صورت Read and forward Only ( فقط خواندنی و قابل باز گشت به عقب هم نیست) در اختیار شما قرار می دهد... علاوه بر این DataReader به صورت Connected داده های شما را fetch می کند...
    در مقابل DataTable و کامل تر از اون یعنی DataSet که میشه گفت یک Mini RDBMS هست، به صورت DisConnected کار می کنند... یعنی پس از برقراری ارتباط با DataSource و گرفتن داده ها از آن، ارتباط خود را با DataSource قطع می کنند.. کار ها انجام می شود، و سپس در صورت لزوم ارتباط مجددی با DataSource شما بر قرار می شود( برای update کردن)

    علاوه بر این می توانید از روش های Async برای Fetch کردن داده ها استفاده نمایید که به performence بالاتری دست پیدا کنید
    موفق باشید
    حرفاتون رو قبول دارم ولی هنوز جواب سوالام رو نگرفتم!
    در حالت کلی در انتقال حجم اطلاعات زیاد (به این علت که دریافت تمام رکوردها بصورت دیتاتیبل و دیتاست و کار بصورت disconnected زمان می بره و یک نکته مهم اینکه این داده ها باید توی RAM قرار بگیرن و بخاطر حجم بالا در نهایت باعث اشغال فضای زیادی از حافظه می شن که همشون هم بدرد نمی خورن) چه روشی رو توصیه می کنین بنا بر تجربه و یا دید فنی که البته من تجربه رو ترجیح می دم.

    و همونطور که گفتم از اکسس استفاده می کنم، آیا می تونم بصورت آسنکرون کار کنم در این محیط؟؟؟؟

    نکته دیگه اینکه به ذهنم رسید الان آیا می تونم هر دفعه که برای Select query ها به بانک وصل می شم مثل توی وب کار کنم و اطلاعات رو بصورت صفحه بندی در اختیار کاربر قرار بدم و مثلا هر صفحه رو که خواست روی شمارش کلیک کنه و اطلاعات مربوط به اون صفحه نمایش داده بشه؟
    اگه اینطوریه sysntax دستور sql مربوط به اینکار رو هم (به یک صفحه خاص از بازجست برگشت داده شده از بانک برم) در اختیارم بذارین .نمیتونم پیداش کنم.

    امیدوارم منظورم رو رسونده باشم.

  5. #5

    نقل قول: تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

    نقل قول نوشته شده توسط jaza_sa مشاهده تاپیک
    آیا میتونید یکم بیشتر درباره روش Async توضیح بدید؟
    تاپيك زير به همين مباحث اختصاص داره :
    https://barnamenevis.org/showthread.php?t=109257

    نقل قول نوشته شده توسط hanieh66 مشاهده تاپیک
    همونطور که گفتم از اکسس استفاده می کنم، آیا می تونم بصورت آسنکرون کار کنم در این محیط؟؟؟؟
    خير نميتونيد.

  6. #6

    نقل قول: تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

    نقل قول نوشته شده توسط sinpin مشاهده تاپیک
    تاپيك زير به همين مباحث اختصاص داره :
    https://barnamenevis.org/showthread.php?t=109257

    خير نميتونيد.
    سلام.
    چرا نمیشه Asynchronous کار کرد؟ مگه نمیشه دو تا Query رو همزمان به MS-Access فرستاد؟

  7. #7
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551

    نقل قول: تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

    اشتباه متوجه شدین دوست عزیز...
    --
    منظورتون از اینکه دو تا Query رو همزمان به اکسس فرستاد چیه؟
    آخرین ویرایش به وسیله RED-C0DE : پنج شنبه 20 تیر 1387 در 19:57 عصر

  8. #8

    نقل قول: تفاوت روش Fill کردن یک دیتاتیبل و روش استفاده از DataReader (پارامتر سرعت)

    نقل قول نوشته شده توسط RED-C0DE مشاهده تاپیک
    اشتباه متوجه شدین دوست عزیز...
    --
    منظورتون از اینکه دو تا Query رو همزمان به اکسس فرستاد چیه؟

    یعنی دو درخواست متفاوت از MS-Access در آن واحد داشته باشید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •