تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: سوالاتی در مورد سرعت برنامه در هنگام کار با پایگاه داده

  1. #1
    پروفشنال mahdi7s's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    هر جایی می تونه باشه
    پست ها
    757

    14 سوالاتی در مورد سرعت برنامه در هنگام کار با پایگاه داده

    با سلام

    حتما شما شنیده اید که استفاده از DataAdapter و DataSet در برنامه های که با پایگاه داده کار می کنند باعث
    کاهش سرعت می شود .

    اما در هر برنامه ای که با پایگاه داده کار میکنه این صحت داره؟

    یعنی اگه ما توی برنامه بخوایم تمام فیلدهای یه جدول نشون داده بشه و درج و حذف و اعمال تغییرات روی همون جدول انجام بدیم آیا سرعت آن با هنگامی که همین کارها رو بدون DataAdapter انجام میدیم فرقی
    می کنه؟

    این حرف در چه جور برنامه هایی می تونه صحت داشته باشه؟

    آیا برنامه هامون نباید طوری نوشته بشن که کل یه جدول رو نشون بدن؟(چون هر چی اطلاعات جدول افزوده
    میشه سرعت برنامه کاهش پیدا می کنه؟)

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

    ممنون

  2. #2
    پروفشنال mahdi7s's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    هر جایی می تونه باشه
    پست ها
    757

    پيش فرض

    از دوستان کسی نیست به داد ما برسه؟

  3. #3
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    حتما شما شنیده اید که استفاده از DataAdapter و DataSet در برنامه های که با پایگاه داده کار می کنند باعث
    کاهش سرعت می شود .

    اما در هر برنامه ای که با پایگاه داده کار میکنه این صحت داره؟
    نه همیشه اینطور نیست بعضی وقتها میتونه باعث افزایش سرعت بشه در کل بستگی به نحوه استفاده خودتون داره
    فرض کنید یک جدول با 10000 رکورد وجود داره و کاربر میخواد داخلشون جستجو کنه و اونا رو بررسی کنه شما اگر یک بار اطلاعات رو تو دیتا ست بریزی و با یک DataView میتونی زیر یک ثانیه هر جستجویی انجام بدی شاید بعضی از این جستجوها شامل رکوردهای زیاد و یا کم باشه ولی در کل زمان فقط در همون لحظه اول استفاده میشه و دیگه بقیه کارها تو RAM انجام میشه که خیلی سریع عمل میکنه

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

    نکته:در Access با بزرگ تر شدن بانک سرعت بصورت تصاعدی کاهش پیدا میکنه ولی در SQL به خاطر الگوریتمهای بهینه تر و قویتر اینطوری نیست
    در کل سعی کنید زیاد برای بانک Select نفرستید تا سرعت پایین نیاد

  4. این کاربر از MTPROG بخاطر این مطلب مفید تشکر کرده است


  5. #4
    پروفشنال mahdi7s's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    هر جایی می تونه باشه
    پست ها
    757

    پيش فرض

    با سلام

    خیلی ممنون

    فرض کنید یک جدول با 10000 رکورد وجود داره و کاربر میخواد داخلشون جستجو کنه و اونا رو بررسی کنه شما اگر یک بار اطلاعات رو تو دیتا ست بریزی و با یک DataView میتونی زیر یک ثانیه هر جستجویی انجام بدی شاید بعضی از این جستجوها شامل رکوردهای زیاد و یا کم باشه ولی در کل زمان فقط در همون لحظه اول استفاده میشه و دیگه بقیه کارها تو RAM انجام میشه که خیلی سریع عمل میکنه
    یعنی شما می گید ما یه جدول با 10000 رکورد رو توی حافظه ی RAM نگه داریم؟ و بعد هر عملی می خوایم
    روش انجام بدیم؟

    آیا این عمل سرعت رو بیشتر کاهش نمی ده تا اینکه مثلا جستجو رو با وصل شدن لحضه ای به دیتابیس و
    گرفتن رکورد های مناسب بر اساس فیلتر جستجو انجام بدیم؟

    مثلا برای قسمت تعریف برنامه تون میتونید از این روش استفاده کنید(تعریف بانک-طرف حساب-کالا) چون اکثرا حجم این قسمتها کم هستش و دارای رکورد کمی هستند
    چندان متوجه نشدم کمی واضح تر توضیح بدید.


    ولی برای قسمتهای سنگین مینونید روش انتخاب بزارید تا فقط رکورد یا رکوردهای مخصوص بازیابی بشن(مثل فاکتور) و میتونید روشهای انتخاب بر اساس شماره، نام،تاریخ،مبلغ و غیره بزارید که باعث کم شدن اطلاعات حتی بعضی وقتها تا حد یک رکورد میشه
    البته خودم برای این قسمت به این نتیجه رسیده بودم که برای نشون دادن "کل" جدول هر ده تا رکورد رو در یک صفحه نشون بدم.

    ولی در SQL به خاطر الگوریتمهای بهینه تر و قویتر اینطوری نیست
    یعنی سرعت برای ریختن ده هزار رکورد در یک دیتا ست با سرعت ریختن ده رکورد در دیتاست فرق نمی کنه؟
    Last edited by mahdi7s; 12-08-2009 at 11:16.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •