On Mon, Sep 29, 2008 at 03:44:46AM -0700, devesh tiwari scratched on the wall:
> Hi all,
> When I used sqlite to store data, I discovered that writing/reading
> data using sqlite is vary slow as compared to direct reading/writing
> file(in my case 10 times slower).
>
> I wonder if sqlite is really slow or i am missing something at my end.
>
> Does sqlite does any caching of frequently used data or only relies
> on OS caching?

  SQLite does have an internal page-cache.  The default cache size is
  2000 pages, the default page size is 1K.  You can increase the size
  of the cache (or page size) using PRAGMA commands:

    http://www.sqlite.org/pragma.html

  The most likely reason you are seeing a performance difference vs.
  flat files is not read/writes, but writes in specific.  SQLite does
  not cache "dirty" pages and blocks on writes until (as best as it can
  tell) the data has been fully written to disk.  This by-passes the OS
  write buffers and can make the write process much slower.  You can turn
  this off, so that writes are not blocked, but you risk transaction and
  database corruption in the case of a process or systems failure.


  The end result is that SQLite will be slower compared to simple,
  small, flat files, but SQLite will provide a *much* higher level of
  data and transaction integrity.

   -j

-- 
Jay A. Kreibich < J A Y  @  K R E I B I.C H >

"Our opponent is an alien starship packed with atomic bombs.  We have
 a protractor."   "I'll go home and see if I can scrounge up a ruler
 and a piece of string."  --from Anathem by Neal Stephenson
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to