Nope ... in this case ... wrong answer. (And this is meant in the most impersonal manner possible, so nobody get their feelings hurt please.) If “SQLite is too slow,” then the problem is going to turn out to be that: “you must use transactions.” Until you do that, SQLite will be dog-slow; after you do that, it’s extremely fast. Blisteringly fast.
Outside of the auspices of a transaction, SQLite physically verifies every disk-write, by flushing to disk, re-reading the block and comparing it. And, nothing gets held in memory. In-memory copies of a block are not re-used in case the underlying data might have changed. This is a fundamental design-aspect of this system. When a transaction is under way, however, SQLite does as much as it can in in-memory buffers, with “lazy writes” and all of the things that you would ordinarily expect. Whether you are reading or writing, always do anything-and-everything within the scope of a transaction, and your performance problems will be solved.
Obviously, I am being a little-bit brash here, but I do in this case speak from very first-hand experience. I had concluded okay, she’s a dog, then discovered just how dramatically(!) wrong I was. (“Even for reading?!” Yes, even for reading. “Will it really make that much difference?” Yes, that much.)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||