Bithiah
دوشنبه 11 مهر 1384, 08:28 صبح
باسلام خدمت دوستان عزیز
در یه برنامه Database که از طریق ADO به بانک اطلاعاتی Access وصل می شه، در ابتدای برنامه یه Connection به بانک برقرار می کنم و در انتهای برنامه هم اون رو می بندم. برای همه query ها از همون اتصال استفاده می کنم. هر موقع هم یه recordset ی باز می کنم، می بندمش و با دستور Set Nothing حافظشو آزاد می کنم، اما وقتی برنامه رو توی فهرست پروسه ها زیر نظر می گیرم می بینم بعد از اینکه یه رکوردستی باز می شه به حجم اشغالی حافظه توسط برنامه یه مقدار معمولا زیادی اضافه می شه که بعد از بستن اون رکوردست فقط 10% تا 20% اون مقدار بر می گرده. آیا راهی هست که بشه حافظه گرفته شده توسط رکوردست رو واقعا برگردوند؟
راستی یه بار هم امتحان کردم، هر دفعه که رکوردست رو می بستم، Connection رو هم بستم و در موقع نیاز دوباره بازش کردم، اما بی فایده بود.
ممنون می شم اگه راهنمایی کنین.
در یه برنامه Database که از طریق ADO به بانک اطلاعاتی Access وصل می شه، در ابتدای برنامه یه Connection به بانک برقرار می کنم و در انتهای برنامه هم اون رو می بندم. برای همه query ها از همون اتصال استفاده می کنم. هر موقع هم یه recordset ی باز می کنم، می بندمش و با دستور Set Nothing حافظشو آزاد می کنم، اما وقتی برنامه رو توی فهرست پروسه ها زیر نظر می گیرم می بینم بعد از اینکه یه رکوردستی باز می شه به حجم اشغالی حافظه توسط برنامه یه مقدار معمولا زیادی اضافه می شه که بعد از بستن اون رکوردست فقط 10% تا 20% اون مقدار بر می گرده. آیا راهی هست که بشه حافظه گرفته شده توسط رکوردست رو واقعا برگردوند؟
راستی یه بار هم امتحان کردم، هر دفعه که رکوردست رو می بستم، Connection رو هم بستم و در موقع نیاز دوباره بازش کردم، اما بی فایده بود.
ممنون می شم اگه راهنمایی کنین.