SQLite DBs are fixed-sized page-based. Non-empty tables and indexes consume at least 1 page each, and of course more to store all necessary table or index entries. SQLite stores row content inside pages, and fits as many rows as it can per-page (possibly splitting the some rows into overflow pages). If when you analyze your DB, the used% does not change, that just means all 12 rows fit on a single page (per table/index). Insert more rows, to allocate more pages, to see that % change. Or VACUUM your DB, to get rid of unused pages, and get back to a large used%.