مشاهده نسخه کامل
: سوالاتی در مورد سرعت برنامه در هنگام کار با پایگاه داده
با سلام
حتما شما شنیده اید که استفاده از DataAdapter و DataSet در برنامه های که با پایگاه داده کار می کنند باعث
کاهش سرعت می شود .
اما در هر برنامه ای که با پایگاه داده کار میکنه این صحت داره؟
یعنی اگه ما توی برنامه بخوایم تمام فیلدهای یه جدول نشون داده بشه و درج و حذف و اعمال تغییرات روی همون جدول انجام بدیم آیا سرعت آن با هنگامی که همین کارها رو بدون DataAdapter انجام میدیم فرقی
می کنه؟
این حرف در چه جور برنامه هایی می تونه صحت داشته باشه؟
آیا برنامه هامون نباید طوری نوشته بشن که کل یه جدول رو نشون بدن؟(چون هر چی اطلاعات جدول افزوده
میشه سرعت برنامه کاهش پیدا می کنه؟)
و نهایتا
در چنین مواردی(مثلا نشون دادن کل جدول و...) ما باید چی کار کنیم تا با افزوده شدن اطلاعات سرعت برنامه
کاهش پیدا نکنه؟
ممنون:11:
از دوستان کسی نیست به داد ما برسه؟:42::3::19::26:
حتما شما شنیده اید که استفاده از DataAdapter و DataSet در برنامه های که با پایگاه داده کار می کنند باعث
کاهش سرعت می شود .
اما در هر برنامه ای که با پایگاه داده کار میکنه این صحت داره؟
نه همیشه اینطور نیست بعضی وقتها میتونه باعث افزایش سرعت بشه در کل بستگی به نحوه استفاده خودتون داره
فرض کنید یک جدول با 10000 رکورد وجود داره و کاربر میخواد داخلشون جستجو کنه و اونا رو بررسی کنه شما اگر یک بار اطلاعات رو تو دیتا ست بریزی و با یک DataView میتونی زیر یک ثانیه هر جستجویی انجام بدی شاید بعضی از این جستجوها شامل رکوردهای زیاد و یا کم باشه ولی در کل زمان فقط در همون لحظه اول استفاده میشه و دیگه بقیه کارها تو RAM انجام میشه که خیلی سریع عمل میکنه
آیا برنامه هامون نباید طوری نوشته بشن که کل یه جدول رو نشون بدن؟(چون هر چی اطلاعات جدول افزوده
میشه سرعت برنامه کاهش پیدا می کنه؟)
این هم دارای شرایط متفاوتی
مثلا برای قسمت تعریف برنامه تون میتونید از این روش استفاده کنید(تعریف بانک-طرف حساب-کالا) چون اکثرا حجم این قسمتها کم هستش و دارای رکورد کمی هستند
ولی برای قسمتهای سنگین مینونید روش انتخاب بزارید تا فقط رکورد یا رکوردهای مخصوص بازیابی بشن(مثل فاکتور) و میتونید روشهای انتخاب بر اساس شماره، نام،تاریخ،مبلغ و غیره بزارید که باعث کم شدن اطلاعات حتی بعضی وقتها تا حد یک رکورد میشه
نکته:در Access با بزرگ تر شدن بانک سرعت بصورت تصاعدی کاهش پیدا میکنه ولی در SQL به خاطر الگوریتمهای بهینه تر و قویتر اینطوری نیست
در کل سعی کنید زیاد برای بانک Select نفرستید تا سرعت پایین نیاد
با سلام
خیلی ممنون
فرض کنید یک جدول با 10000 رکورد وجود داره و کاربر میخواد داخلشون جستجو کنه و اونا رو بررسی کنه شما اگر یک بار اطلاعات رو تو دیتا ست بریزی و با یک DataView میتونی زیر یک ثانیه هر جستجویی انجام بدی شاید بعضی از این جستجوها شامل رکوردهای زیاد و یا کم باشه ولی در کل زمان فقط در همون لحظه اول استفاده میشه و دیگه بقیه کارها تو RAM انجام میشه که خیلی سریع عمل میکنه
یعنی شما می گید ما یه جدول با 10000 رکورد رو توی حافظه ی RAM نگه داریم؟ و بعد هر عملی می خوایم
روش انجام بدیم؟
آیا این عمل سرعت رو بیشتر کاهش نمی ده تا اینکه مثلا جستجو رو با وصل شدن لحضه ای به دیتابیس و
گرفتن رکورد های مناسب بر اساس فیلتر جستجو انجام بدیم؟
مثلا برای قسمت تعریف برنامه تون میتونید از این روش استفاده کنید(تعریف بانک-طرف حساب-کالا) چون اکثرا حجم این قسمتها کم هستش و دارای رکورد کمی هستند
چندان متوجه نشدم کمی واضح تر توضیح بدید.
ولی برای قسمتهای سنگین مینونید روش انتخاب بزارید تا فقط رکورد یا رکوردهای مخصوص بازیابی بشن(مثل فاکتور) و میتونید روشهای انتخاب بر اساس شماره، نام،تاریخ،مبلغ و غیره بزارید که باعث کم شدن اطلاعات حتی بعضی وقتها تا حد یک رکورد میشه
البته خودم برای این قسمت به این نتیجه رسیده بودم که برای نشون دادن "کل" جدول هر ده تا رکورد رو در یک صفحه نشون بدم.
ولی در SQL به خاطر الگوریتمهای بهینه تر و قویتر اینطوری نیست
یعنی سرعت برای ریختن ده هزار رکورد در یک دیتا ست با سرعت ریختن ده رکورد در دیتاست فرق نمی کنه؟
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.