On Mar 12, 2010, at 10:23 AM, Chuck Hill wrote:

> On Mar 12, 2010, at 7:23 AM, Kieran Kelleher wrote:
> 
>> Hi Chuck,
>> 
>> Resurrecting this old thread....
>> 
>> What do you mean by "moderate"? For example a virtual table with 20 fields, 
>> half being numbers and half being varchar255 strings, how many virtual 
>> records would be regarded as too much?
> 
> It is highly dependent on the server configuration (modern xServe vs your old 
> Mac Mini), how many tables there how, usage frequency, etc.  I'd ballpark it 
> as 30,000 to 100,000 "fields" (rows x fields per table).  There are 5 system 
> fields that need to be included.  So 100,000 / 25 = 4,000 rows.  1,200 rows 
> if you limit it at 30K fields.
> 
> All that said, Sacha recently did a lot of optimization on this (for version 
> 4.6 IIRC).  I am not sure if these numbers include that optimization.  He is 
> away on vacation until April.

The data indicated is probably the best case scenario, performance-wise.  My 
guess would be 100,000 total fields is barely usable when querying it on modern 
hardware without optimization.  There are two aspects of _unoptimized_ 
performance to be aware of:

1) in order to query the data, all the required data needs to be faulted in
2) unoptimized queries are O(n)

This is because I cheated initially and used KVC for queries instead of 
translating the query into SQL (the optimization code in SiteMaker adds the 
ability to translate the query into SQL for most queries).  Unfortunately, the 
optimization code is actually in SiteMaker, not in the VirtualTables framework 
itself, partly because SiteMaker defines new column types which need 
optimization.

Note that the current incarnation requires all row objects to be faulted in, 
even for optimized queries, so this is a limitation of all queries.  Despite 
that, if you can manage to get the optimization code from SiteMaker into your 
app, I would expect Virtual Tables to perform well under even relatively large 
data sets.


sacha


-- 
Sacha Michel Mallais             Senior Developer / President
Global Village Consulting Inc.   http://www.global-village.net/
PGP Key ID: 7D757B65             AIM: smallais
Time is an illusion. Lunchtime doubly so. -- Douglas Adams


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to