On Jul 21, 2006, at 7:25 PM, [EMAIL PROTECTED] wrote:

1) If I use "Project -> Add -> Database -> New REAL SQL database" to add a database to the project, is the entire database going to be loaded into RAM
as the program starts?

no. only an object - an empty container. to load the database into ram
requires you to actively open it, get a record set and do something with that data.


2) Do I have a way to decide whether the database is all in memory or
accessed
from the hard drive?


Its on the hard drive. Unless you manually load it into arrays.


3) Is the time to do a SELECT statement proportional to the size of the database? i.e. If a particular SELECT statement takes, say, 1 second with
20,000 rows, will it take 10 seconds with 200,000 rows? or is it
proportional
to the size of the database in MB?


A select might be ok, but sorts are never linear. if there are n records it
can take
n*n or n^(3/2) or n*ln(n). So it could go from 10 seconds to 100 seconds, in
theory.

Not quite. First, sorting times can indeed be linear. Although comparison-exchange sorts like quick sort, merge sort, etc. are known to be no better than O(N*log(N)) on average, they can have linear running time in many cases. The implementation of quicksort in my SortLibrary should be approximately linear when the size of the key set is bounded, for example. And various types of radix sorts can have linear running time.

As for database performance, you can't really learn much about performance by thought-experiment. It's reasonable to suppose that selection speed is a function of the number of rows in a table, for example, but there are so many variables of implementation that actual testing is the only way to learn anything useful.


Charles Yeomans
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to