SQLite is quite SQL compliant

Philip Semanchuk philip at semanchuk.com
Sun Oct 3 20:32:05 CEST 2010

On Oct 3, 2010, at 2:21 PM, John Nagle wrote:

> On 10/2/2010 3:06 PM, Seebs wrote:
>> I would agree that the word "nonstandard" seems to be a little strong and
>> discouraging.  sqlite is a source of joy, a small bright point of decent
>> and functional software in a world full of misbehaving crap.  While it
>> does omit a few bits of SQL functionality, I'd call it perhaps a "slightly
>> incomplete implementation" rather than a "nonstandard variant".
>    That's a bit much.
>    What SQLite leaves out is the heavy machinery needed for a active
> production database being used by many processes.  If you want to store
> a modest amount of data for one process, perhaps with a rare conflict
> when two programs hit the same table, SQLite is fine. But SQLite
> doesn't scale.  That's why it's "lite".
>    Some of SQLite's good features, are achieved by rather brutal
> means.  For example, SQLite supports atomic transactions.  That's
> implemented by locking up all tables involved for the duration
> of the entire transaction.  This is fine for low-volume updates,
> and a killer for high-volume systems.
>    SQLite doesn't have a serious query optimizer, or partial table
> locking, or concurrent transaction handling, or replication.
> In other words, use SQLite in your desktop app to manage its data
> or configuration parameters.  Use MySQL or Postgres for your
> web site.

Granted, but we're talking about whether or not SQLite complies with the SQL standard, not whether it's suitable for an e-commerce Web site or running the NYSE. 


More information about the Python-list mailing list