I'm a bit rusty here, but have you done a basic retrieve recordset call to see if one record takes a while to even load?
What other fields are there actually? Can I assume that Bookid = 1 and Chapter = 1 would retrieve only one recordset? I would think there are many records in chapter 1 itself. How large is that one chapter? If its the whole of genesis ...
C:Aime is right. Olive tree may not be using cdb altogether. For my own app, I actually use the Palm PDB format, and its very zippy if you ask me. Just a record pointer table to look up with fixed offset, and use the record pointer to retrieve the record.
Whatever works for the job!
Also, the sort could be rather memory intensive. I don't think the sort flag will cause much rereading from the CF, but prob be done in memory. OLEDB
(not sure about CDB
) APIs mostly massage the records in memory, working directly on the file is unthinkable.
oh last question ... how many records are there in the cdb of yours?