On 2019-10-04 14:01, Marcelo Guimaraes mfguimar...@gmail.com [firebird-support] wrote: > Hello everyone! > > Reading about FB performance, I hit this page: > https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-appx05-montables.html > > My surprise on the note was the warning: "In a highly loaded > environment, collecting information via the monitoring tables could > have a negative impact on system performance." > > To administer a database and monitore his health usually we need to > query monitoring tables (dictionary views).. On FB, according to the > doc, we have a negative impact on system performance, so how can we by > pass that? > > Was this issue solved on FB 3?
The problem is inherent to the monitoring tables. If you query one monitoring table, Firebird needs to collect and prepare a snapshot of the data for all other monitoring tables to be able to provide a stable and consistent view of the monitoring tables in your current transaction. If you do this a lot, then it will need to repeatedly spend that time, which can have an impact on performance, because the cost of that data collection is non-zero (. So, the problem can't really be fixed, because that data collection will need to happen and doing the collection takes time (CPU) and memory. Mark