Subject Re: [Firebird-Java] How to change forced writes settings via JayBird?
Author Helen Borrie
At 11:35 AM 13/10/2009, you wrote:
>Can anybody explain the reason why ForcedWrites is a database property and
>MaxUnflushedWrites is a server property given that the later is only used
>when the former is set?

MaxUnflushedWrites is a parameter that dictates the server's interaction with the operating system, not the server's interaction with databases. It is only applicable to databases that have ForcedWrites off, which is about the server's interaction with that particular database. It's more "usual" than "unusual" to have FW on for all databases. It's normally a temporary usage for a database that's about to undergo a huge batch operation, since it can allow such operations to go faster.

FW is not something to disable lightly. On Windows particularly, asynchronous write adds a high level of risk of corruption that is otherwise absent. FW is of no help whatsoever in improving performance that is slow due to inefficient metadata structures or indexing, inefficient queries, heavy garbage buildup, inappropriate cache size, inadequate system resources, overlooked index maintenance, etc. etc. - hence Roman's comment that you interpreted as "sarcastic".