On 04/29/14 13:49, Dimitry Sibiryakov wrote:
> 29.04.2014 11:07, Alex wrote:
>> On 04/29/2014 12:49 PM, Dimitry Sibiryakov wrote:
>>
>>>       May be stop separate metadata cache at all and use ordinary data 
>>> cache for reading
>>> system tables directly every time.
>> And have prepare time increased many times...
>> Not an option due to performance reasons.
>     System tables are likely to be in cache all the time. Besides, it is 
> enough to check
> whether RDB$RECORD_VERSION still match value remembered in transaction 
> metadata cache object.

It's about reading table data from page cache when prepare gets slower 
many times. If system table is not in page cache it will be hundreds 
times slower.

If you think that I give too pessimistic estimation here please compare 
searching data in btree index + analyzing data page with record version 
check + analysis for GC (all this done locking appropriate pages for 
read) on one side with finding record in an array by index on another 
side (that's how metadata cache works). You will see that provided 
estimation is correct.


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to