>> GTT's data go thru the common page cache as all other database operations.
What happen when GTT will be bigger then whole mem cache? It will go to disk?
If yes, how to catch such situation?
Temporary files, used for GTT, is created with FILE_ATTRIBUTE_TEMPORARY attribute (on Windows),
thus OS could cache its contents more aggressively than for non-temp files. Firebird doesn't control when
OS decides to write data to disk. Also, Firebird doesn't flush temp files buffers to disk on commit and
ignores database FW setting for these files.
Is there some other situation where some “buffer” go to disk?
Firebird uses temporary files for sorting and for the part of undo-log. Amount of temporary
data maintained in memory (before is will go to the disk file) is controlled by the TempCacheLimit
setting. Also, note, that OS could additionally cache temporary files data in memory. When OS
physically writes this data to disk is out of Firebird control.
P.S. Should i create ticket with feature request about collection of this stats?
Yes, please.
Regards,
Vlad