Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Westi on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Lightning fast performance?

Status
Not open for further replies.

tdion

MIS
Dec 18, 2003
61
US
Hey everybody...

Just had a thought in the car the other day.... remembered the old RAMdrive command in DOS.... Computers have over a Gig of RAM these days.... why not create a RAMDisk and then copy the MDB over to it... A 500 MB DB would serve incredibly fast...

Can anyone think of a reason this isn't a good idea?
 
1) You would have to remember to copy the file back to the hard drive, otherwise the data would be lost when the PC shuts down, crashes or bluescreens.

2) I haven't tried sharing a RAM drive, but don't think it would be a good idea - that means the database would be restricted to only being used on the one PC.

3) The memory used by the RAM Drive would be taken away from the operating system and other applications and would impact on overall system performance. Obviously your example of a 500Mb MDB is huge, and way over the top of MS Access database files anyway. Anything that size should be upsized to MSDE at least.

4) You would need to ensure that enough free space was in the RAM Drive to allow for extra data to be added in, temporary files, locking information etc, so it wouldn't just be the size of the MDB you would have to allow space for.

Is this enough to be getting on with?

John
 
Databases are all about the management of buffers. (I read that somewhere but now I can't find where - I think it was an IBM journal.)

Any database, including Jet, will try and buffer data in real memory. Also your discs have hefty buffers in them (megabytes nowadays), and Windows allocates large amounts of virtual memory. As a result some applications would hardly go any faster at all if you copied them into real memory.

As mentioned elswhere, you have a problem that usually some data will be changed and therefore must be copied back to storage. Somehow you've got to manage that process. By contrast your hardware buffers have dedicated electronics to help with this.

Having said that, your idea is perfectly valid in some cases. MySQL for example allows you to declare in-memory tables. These are formatted in a different way to take advantage of the fact that they are in RAM rather than block memory.


 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top