Optimising Database Calls

Posted by Dwaine Bailey on Stack Overflow See other posts from Stack Overflow or by Dwaine Bailey
Published on 2010-06-17T02:21:26Z Indexed on 2010/06/17 2:32 UTC
Read the original article Hit count: 333

Filed under:
|
|
|

I have a database that is filled with information for films, which is (in turn) read in to the database from an XML file on a webserver.

What happens is the following:

Gather/Parse XML and store film info as objects
Begin Statement
For every film object we found:
    Check to see if record for film exists in database
    If no film record, write data for film
Commit Statement

Currently I just test for the existence of a film using (the very basic):

SELECT film_title FROM film WHERE film_id = ?

If that returns a row, then the film exists, if not then I need to add it...

The only problem is, is that there are many many hundreds of records in the database (lots of films!) and because it has to check for the existence of a film in the database before it can write it, the whole process ends up taking quite a while (about 27 seconds for 210 films)

Is there a more efficient method of doing this, or just any suggestions in general?

Programming Language is Objective-C, database is in sqlite3

Thanks, Dwaine

© Stack Overflow or respective owner

Related posts about objective-c

Related posts about database