wyrd
Well-known member
Ive been toying with a table that has 1 million records in it (so I can tweak performance of my app under such pressure). There are a few hiccups in it, but it seems like it doesnt have to do my app, rather MSDE itself.
I opened up the Windows Task Manager to watch the memory usage of MSDE as I navigated through my program and did different selections on the 1 million record table. Depending on the query the memory that MSDE used grew by a certain amount, reaching at times around 150k or so. Eventually, it decided to reclaim memory when it sucked up to much (going from 150k to about 6k), which made my program sit there "waiting" for a resultset and eventually timing out (because MSDE was busy reclaiming memory)
I checked my program to make sure DataReaders were closing and that my SqlConnections were closed. They indeed are. Nothing is left open after a query is made, and its certainly not my programming sucking up all this memory.
After all this testing, I did notice one thing; If I didnt make any queries to MSDE for a while, it eventually reclaimed whatever memory was in use, slowly but surely.
So my question is, what is this from and is there any way to fix it, or is this just the way MSDE (and Sql Server alike) works? Im using DataReader and SqlConnection, and the SqlConnection opens and closes immediately whenever the program requests data from the program (it does not remain open).
I opened up the Windows Task Manager to watch the memory usage of MSDE as I navigated through my program and did different selections on the 1 million record table. Depending on the query the memory that MSDE used grew by a certain amount, reaching at times around 150k or so. Eventually, it decided to reclaim memory when it sucked up to much (going from 150k to about 6k), which made my program sit there "waiting" for a resultset and eventually timing out (because MSDE was busy reclaiming memory)
I checked my program to make sure DataReaders were closing and that my SqlConnections were closed. They indeed are. Nothing is left open after a query is made, and its certainly not my programming sucking up all this memory.
After all this testing, I did notice one thing; If I didnt make any queries to MSDE for a while, it eventually reclaimed whatever memory was in use, slowly but surely.
So my question is, what is this from and is there any way to fix it, or is this just the way MSDE (and Sql Server alike) works? Im using DataReader and SqlConnection, and the SqlConnection opens and closes immediately whenever the program requests data from the program (it does not remain open).