On 9/7/2014 10:27 AM, Dimitry Sibiryakov wrote: > Hi, All. > > I see that flag "large scan" is set for blob reading only if reader is > gbak or size of > blob is bigger than page cache. > Doesn't it mean that reading of BLOB that is little smaller than page > cache will flush > whole shared cache out? >
Or one larger than the page cache... I've been pondering this. There are at least two ways to attack this. One is to mess with the page replacement strategy in CCH. My guess is that everyone who has investigated this has decided there are more fun projects available. The other, perhaps less obvious, is to allocate a request specific non-CCH buffer for reading "large" blobs, which would get them out of the shared buffer pool and not muck with CCH. If I remember correctly, there is already provision in PIO for non-buffer pool reads to handle the header page at startup. If anyone is going to go down this path, remember to probe the page cache for a page before trying to read it -- it may not yet exist. ------------------------------------------------------------------------------ Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce. Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
