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

Reply via email to