It appears from looking at the code and running test
cases against my database that SQLREST attempts to
build a complete meta data structure of the database.
This can be very expensive in terms of time (esp. if
the DB connection is remote) and resources for large
databases, which is the case for me.
Rather than constructing the meta data in an
initialization phase might I recommend that the meta
data is queried from the database and constructed on
demand so that the meta data structure is sporadic.
This should decrease load time and only load those
parts of the schema when required.
For instance if a simple http://hostname/sqlrest/ GET
was done you would only have to look up the table
names and not the structure of the tables. Each table
structure would only have to be populated when a
request to that specific table was made.
Another advantage to this approach is that the meta
data maintained in memory could be constrained by
size etc. to keep the runtime footprint smaller.
(i.e. it is a meta data cache such that meta data
which has not been used for a while is released from
the cache).