In the beginning we had sqlish.go
which was truly a horror and failed to implement anything useful of the sql standard.
Next we had sqlglot
which was fantastic but, dear goodness it was slow.
$ SQLITE=false python scripts/sql.py "GROUP select type from __all__ group by type limit 1"
Created HASH in 1.811981201171875e-05
Executed query in 0.1616196632385254
wow! that’s… terrible!
Let’s replace it with sqlite in-memory:
$ SQLITE=true python scripts/sql.py "GROUP select type from __all__ group by type limit 1"
Created SQLITE3 DB in 0.006751537322998047
Executed query in 2.7418136596679688e-05
oh. yeah. that’s more like it. It takes far longer to create the database, but, it’s far, far, far faster to query which is worth a lot.