ATRIUMsearch → argument graph
DataArticle

The tool can create a DuckDB database schema automatically and insert CSV data, and the insert operation is unusually slow when run naively.

The author demonstrates loading every tree in San Francisco into a DuckDB database from a CSV, then notes the first run took nearly an hour until Codex optimized it down to about 35 seconds. ✦ AI generated

Simon Willison · Simon Willison's Weblog · 2026-08-12 · original ↗

Or if you'd like a DuckDB database with every tree in San Francisco, schema created automatically to match the file: curl 'https://raw.githubusercontent.com/simonw/sf-tree-history/refs/heads/main/Street_Tree_List.csv' | uvx --with 'alchemy-utils[duckdb]' alchemy-utils insert 'duckdb:////tmp/trees.db' trees - --csv (That one took nearly an hour the first time I ran it, so I had Codex optimize it and got it down to around 35 seconds.)

Read full article ↗excerpt · fair-use quotation

Around this claim
The tool can create a DuckDB database schema automatically and insert CSV data, and the insert operation is unusually slow when run naively. — Atrium