I worded my opening post very poorly. I would be querying scripture based on reference alone, not on searching for words. This tool is going to be more designed to allow developers to use my service to pull scripture, probably via XMLHTTPRequest, and display it on their own site/online application/widget/etc. And not to make fun of SQLite, but it is a simple database, which I doubt has any pooling capabilities. SQLite databases are simple files organized in a manner that the SQLite engine (a single-file application) can run SQL queries on it. And apparently I've been using normalization for about 3 years now without knowing the word for it. Ever since a guy at my last job showed me how to build a relational database, I haven't duplicated data since. And now that I'm administering a small webserver at work, I'm using PostgreSQL, where I get to create views to pull the data together for me. And yes, if I were using PostgreSQL I would use a single database for all the versions of the bible I want to reference. And just to answer another comment, I think PHP can use connection pooling, simply by opening a persistent connection, then when you try to open another persistent connection, it will first try and find a connection already opened and use that. PHP Persistent Connections Thanks for the tips, it looks like I may stick with multiple databases, possibly loading an INI file of the various names for each book, so I limit it to one database connection per page hit. (I'm pretty sure SQLite loads the whole database into memory, but I'm not sure.) And, for one more performance increase, I just discovered sqlite_unbuffered_query(), which I'm using here