I have a SQLite 3 database, which is populated by a Windows application running on a Windows Server.
This application caches data coming from one of two functionally identical Servers:
- one running on Linux, and storing its data in a DB2 database
- one running on Windows, and storing its data in a MSSQL database.
The SQLite database contains just one table created by the application to cache the data, that is created by the statement:
CREATE TABLE RESULTS ( sysID_runID INTEGER NOT NULL PRIMARY KEY);
The data cached in this table in the two cases (data coming from Linux/DB2 or from Windows/MSSQL) are exactly the same: same number of rows(up to 1 million), same min, avg and max.
However, the database coming from Linux/DB2 is about 4% grater in size on filesystem then the one coming from Windows/MSSQL, and also the time to populate it is greater, more or less of the same extent.
Since I'm dealing with INTEGER values I would exclude an Encoding issue, but I don't know what could be the cause of this size/performance difference.