Now if you follow this strategy, notice that you never need
to keep pending read operations around.  The original query
builds the temp table in a single sqlite3_step() call.  To
access the results, you prepare a statement like this:

     SELECT * FROM result_set_1 WHERE rowid=?


Of course you don't need any pending cursors. But the problem is that OOo will call many functions for only one row to get informations. I tested that way and I got a 10 times slower run duration with that. If I can use an open stmt it will be fast because I don't need to run SELECT more than once for one cursor-movement in the resultset.

If we have a table with 10.000 rows, 5 columns and one column is a primary key. OOo will SELECT * to get primary keys. After that it will use new SELECT for EVERY single row to get the type and the content. And of course it will get the content and type for every cell.

So you will have 50.001 SELECT-stmt only to get same information because I can't remember my cursor-position.


Regards,
André Klitzing

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to