<p>Right now I have a log parser reading through 515mb of plain-text files (a file for each day over the past 4 years). My code currently stands as this: <a href="http://gist.github.com/12978" rel="nofollow noreferrer">http://gist.github.com/12978</a>. I've used psyco (as seen in the code) and I'm also compiling it and using the compiled version. It's doing about 100 lines every 0.3 seconds. The machine is a standard 15" MacBook Pro (2.4ghz C2D, 2GB RAM)</p>

<p>Is it possible for this to go faster or is that a limitation on the language/database?</p>

Use bind variables instead of literal values in the sql statements and create a cursor for 
each unique sql statement so that the statement does not need to be reparsed the next time it is used.  From the python db api doc:
Prepare and execute a database
  operation (query or command). 
  Parameters may be provided as sequence
  or mapping and will be bound to
  variables in the operation. Variables
  are specified in a database-specific
  notation (see the module's paramstyle
  attribute for details). [5]
A reference to the operation will be
  retained by the cursor.  If the same
  operation object is passed in again,
  then the cursor can optimize its
  behavior.  This is most effective for
  algorithms where the same operation is
  used, but different parameters are
  bound to it (many times).
ALWAYS ALWAYS ALWAYS use bind variables.