On Thu, 29 Jun 2017 18:57:29 -0400
PICCORO McKAY Lenz <mckaygerh...@gmail.com> wrote:

> can i convert directly or more faster than copy each row, a Result from
> database to a collection or a VArian matrix?
> 
> i'm taking about 200.000 rows in a result... the problem its that the odbc
> db object support only cursor with forward only..
> 
> so with a matrix or a collection i cant emulate the cursor behaviour
> 
> Lenz McKAY Gerardo (PICCORO)
> http://qgqlochekone.blogspot.com

Interesting.

Well the row by row copy is how we do it here. I added some quick timer Prints 
to a program we run each day to verify that the 
database updates done overnight were "clean".
The data loaded is a fairly complex join of several tables, the transactional 
table is 754,756 rows today and the master table is 733,723 rows long and the 
transactional data is compared to the master data to test a set of possible 
inconsistencies. ( The actual query returned a set of the transaction and 
master records that were actioned overnight - this generally returns about 
5,000 to 10,000 rows - so I jigged it to return the pairs that were not 
actioned overnight thereby getting row counts of the sizes you are talking 
about.) So the jigged query just returned 556,000 rows.  Here's the timing 
output.
 
17:05:59:706    Connecting to DB 
17:06:00:202    Loading Data    <---- so 406 mSec to establish the db connection
17:06:31:417    556502 rows     <---- so 31,215 mSec to execute the query and 
return the result
17:06:31:417    Unmarshalling result started
17:06:44:758    Unmarshalling completed 556502 rows processed  <---  so 13,341 
mSec to unmarshall the result into an array of structs

So, it took roughly 31 seconds to execute the query and return the result of 
half a million rows.
To unmarshall that result into the array took just over 13 seconds. The 
unmarshalling is fairly well a straight field by field copy.
(Also I must add, I ran this on a local db copy on  my old steam driven laptop, 
32 bits and about 1G of memory.)

That's about 42 mSec unmarshalling time per row.
I don't think that is too bad. From my perspective it is the query that is 
eating up my life, not the unmarshalling.

What sort of times to you get?

b

(p.s. the query has been optimised until its' eyes bled. ) 

-- 
B Bruen <adamn...@gnail.com (sort of)>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

Reply via email to