SQLite Forum

General question concerning database stucture and number of databases to use.
Login
Yours is not a novice question. SQLite is my C programming secret weapon. But [when to use](https://sqlite.org/whentouse.html) is key.

Yes, it is easy to add tables, but there is a cost. A [schema](https://sqlite.org/schematab.html) is not compiled. For an extreme example, I have a schema for [TR-181](https://cwmp-data-models.broadband-forum.org/tr-181-2-11-0.html) (machine generated from the XML schema):
```
sqlite3 tr-181.db
sqlite> select type,count(*) from sqlite_schema group by type;
type|count(*)
index|2644
table|1637
trigger|10993
```
It is 41,230,336 byes on disk with no data loaded. It takes a moment to open it. But the advantage of completely contained representation of a single device is worth every cost.

Points 1, 2, and 3 fit perfectly with SQLite.

Point 4 leads to separating things in separate databases and use of [attach](https://sqlite.org/lang_attach.html). This, too, fits perfectly with SQLite.

I think you will find SQLite a good fit.