Subject Why different Firebird instances have different read/fetches statistics

I have different Firebird instances/databases, one is running on Windows, another on Linux (the servers have different RAM amount as well). The execution of the same SQL code results in almost the same indexed reads, non-indexed reads statistics, but the numbers of read and fetch operations are incredibly different.

E.g. one instance has less than 1000 reads (and a bit more fetches) but the second instance has more than 40.000.000 reads (and more than 40.000.000 fetches) when the same SQL code is executed (this code includes all types of DML statements - inserts, updates, deletes and selects). Namely, so many reads create performance issues.

Both databases have the same structure and the same data, including the same active indices. I guess that any performance differences and number of read operations is almost entirely due to the configuration.

How to interpret those data? And what can be done to reduce the number of read operations?

Thanks in advance!