Hi,
we recently tried using VistaDB with our app to give single-users an easy opportunity to install and use our app. Installation, conversion all went well, only some Views had to be changed by hand to work with VistaDB.
We are using the Entityspaces 2007 v1210 and the latest VistaDB trial (3.2.x), 3.3 is not available as trial yet.
Then i started to make some tests. We have a "Browser"-Form which loads the Data returned by one View in a DataGrid. The View is filtered by a very simple where. With SQL-Express (installed on the same machine) it loads almost instantly, whether there a 5 or 500 records returned by the query. With VistaDB it takes about 3-5 seconds to load even if there are only 5 records returned. The funny thing is, it takes also 3-5 seconds to load hundred records. It seems like there is some basic delay when querying against VistaDB.
I could even live with this as performance is not that critical in the "Browser". The next test was loading a document, which means creation and loading of some hundred entities and querying the Database for each. With SQL-Express it took about 25 seconds to load. With VistaDB however we cancelled loading after about 5 minutes. It seems this "basic delay" we experienced when querying the Views is occuring at every single query we make against the VistaDB.
All of this (not really scientific) tests were made with a Release-Build, started outside Visual Studio. Openmode for the VistaDB was ExclusiveReadWrite. I am well aware that VistaDB has to be slower, but not that slow. The reason seems to be the amount of I/O operations. There should not be any other I/O operations from our app other than those issued by the VistaDB. Im thinking im doing something wrong, but i didn´t find any tuning options other than page size, which didn´t changed anything as far as i tried. The size of the vdb3 file is about 10meg, which seems realistic for our app in single-user environment.
I could not try the VistaDB 3.3 release yet, there may be some improvement with using Stored procedures instead of DynamicSQL, if theres an option to generate them. I really like the VistaDB approach i can live with it being slower as long as its reasonable for the end-user.
Any suggestions are highly appreciated.
Thanks and keep up the great work,
Joris Bauer