VServer temp join table

justin at crunch-recording.com justin at crunch-recording.com
Fri Sep 17 08:03:25 CDT 2010



I've been playing around with VServer and so far, very impressive!

I have an issue though...

I retrieve from other sources
an array of recid's.  I now need to search against the vserved
database for these recids.  There can be a LOT of them(so doing a
select where recid in ()) can fail[too many values]- this one was about
200,000).  Locally I got around this by building a  table with
an object_ptr field pointing to the record id and then doing a left join
on the main table.

The problem with that approach was the speed
on the server side. (Both updating the table and the join).  I tried
a binary link with a 1:M relationship and while the query / join on the
server was blazing, the insert of the recid's was brutal(presumably
because each link Records call had a lot of overhead)

What
would be awesome is if I could just somehow pass a bitset!  That way
I could say...ok server, take this bitset match it up on the main database
and give me the results sorted by...x and grouped by n.  But nothing
in the C++ SDK jumps out.

Offlist, Ruslan mentioned a temporary
table, I guess I need more info on this... [example sql?] what possible
optimizations can I do?  Is there such a thing as a temporary client
side table that can be pushed / committed to the server after being
built.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macserve.net/pipermail/valentina/attachments/20100917/16e42a9b/attachment.html>


More information about the Valentina mailing list