On Tue, 2007-03-27 at 13:24 -0600, John Stanton wrote: > > Another reason for my puzzlement -- although I love SQLite, my > > expectations are based on using Foxpro for many years. Foxpro's indexing > > speed for a problem like this is about 10 - 20 times faster. And I've > > never come across a Foxpro database where the indexing took longer than > > the loading -- and Foxpro is blazingly fast at loading. So I assumed > > that every DBMS would be faster at indexing than loading. (Both use > > B-trees for indexes, so I believe it's a meaningful comparison. But > > maybe in this case the single-file architecture of SQLite works against > > it; Foxpro uses a binary format for its B-trees.) > > > > In other words, since SQLite is so fast at some things, I expect it to > > be fast at all things. Is this unreasonable? Is it optimized for fast > > retrieval and not indexing? > > > > > > Thanks! > You are comparing an ACID RDBMS with rollback and commit with a much > simpler situation. For example we developed a data storage software > product which was of the same generation as Foxpro. I wrote a fast > indexing program which would create a 10 million entry B-Tree index in > less than a minute on a very slow machine, but it had minimal features, > unlike Sqlite.
I do all the indexing in a single transaction, which I thought would have turned off any rollback potential, and also saved time. > I assume that if Foxpro had all the features you want now you would not > be changing from it. Of course. I'm just trying to learn what I don't know :-) > Have you thought of doing the index creation as a background process > unseen by the user? Actually, it already is a separate process launched on the server by the web app. But since users can't use the system until the index is built, I show them the progress of the indexing so at least they have something to look at! Thanks, Stephen Stephen Toney Systems Planning [EMAIL PROTECTED] http://www.systemsplanning.com ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------