Hi
   
  Here's My Situation:
  -------------------------------------
  I have an XML file which contains user created data. It can have maybe 10,000 
or more nodes. The XML needs to be queried infrequently for use in the 
application, in a way that lends itself more to SQL. For example the only query 
that I will use is 
  "SELECT * FROM myTable WHERE BookID IN (2,3,4,5,7,8,23,24,25,26,27,38,67,66)"
   
  That's a good example. The IN parameters can vary with numbers ranging form 1 
to 66.
   
  IN COMES SQLITE3
  ---------------------------------------
   
  So I decided to pull all the XML nodes into the Sqlite3 databse at 
application start up.
   
  But I have discovered some slowness. 
  So far I have simply reused the quick start code.
   
  I modified it to do the following: 
  1. Open the Database.
  2. Drop the 2 tables if they exist in the database
  3. Created 2 tables if not exist -  Lookup_BookID and Question
  LookupID has a primary key on BookID and Question has no index.  
   
  4. Then I simply insert 66 records into lookup_bookID at application start up.
  Well simply by inserting 66 3 field records into my LookupID , I count 7 
seconds. 
   
   So it makes me a bit concerned that when I have to drop my XML repository 
with 7,000 to 10,000 records it will take forever at application start up ? 
   
  Is there a way to execute all these inserts much faster than I am currently 
doing ? 
   
  I am currently simply using sqlite3_exec(db, "INSERT SQL STATEMENT ", ... etc 
etc ) 
  for every single insert statement. 
   
  Is there away to maximize this speed dramatically to do 10,000 inserts in 
less than 5 seconds. 
   
   
  Thanks 
   
  Stephen 

       
---------------------------------
Yahoo! oneSearch: Finally,  mobile search that gives answers, not web links. 

Reply via email to