From: Kirk Haines Date: 2004-05-19T08:50:25+09:00 Subject: Re: Windows desktop app w/ simple db; how? On Wed, 19 May 2004 08:35:11 +0900, Hal Fulton wrote > Carl Youngblood wrote: > > > I can think of nothing better than sqlite. It is amazingly fast, > > supports all the SQL you need (including subselects), is very easy to > > extend, and best of all, is completely embedded into the client--it > > doesn't use a "server" at all. > > Someone was suggesting that to me the other day. > > What if I don't really need SQL -- should I still use it? Is it as fast > as, say, DBM? I adore SQLite. A couple+ years ago I wrote a Perl binding for it (before there was a good one available) and even used it's virtual machine a bit to write some new functions. It's a sweet piece of software. I have just never used it under Windows. I wasn't aware of whether there were any gotchas to it on Windows or not. If all you need is simple key/value storage and you don't need or can't benefit from the ability to query your data using SQL, you may as well use some flavor of dbm. However, if you have more complex requirements, sqlite is a wonderful thing. Once upon a time I wrote a set of tools to take large quantities of CSV data and manipulate it, merging sets of files, performing unions, adding fields from one set to another, etc. I found that it was faster, by far, to do this by importing the CSV files into SQLite databases then constructing queries to perform the desired operations and selecting the data back out to CSV format than it was to operate directly on the files with Perl. SQLite is quite pleasingly fast. Take a look at the SQLite site at www.sqlite.org for some good information on its architecture and on what parts of SQL it supports. Kirk Haines