> On 26-1-2013 14:42, Thomas Steinmaurer wrote:
>>> (Using FB 1.5)
>>>
>>> Do inserts in FB benefit from ordered or sequential PK?
>>> Please allow me to clarify. I intend to use High/Low for table PKs. With 
>>> this approach, it is very possible that PKs will not be in sequential order 
>>> as they are inserted into the db. Will this be an issue in FB?
>>>
>>> I based this question on this article:
>>> http://www.codeproject.com/Articles/388157/GUIDs-as-fast-primary-keys-under-multiple-database
>>
>> Interesting reading. Thanks for sharing!
>>
>> I once run a test with insertion performance in Firebird 2.5 with a)
>> sequential PK values coming from a generator and b) via the built-in
>> function giving me a UUID.
>>
>> For me, Firebird's (bulk) insertion performance had always been better
>> with sequential PK values, because with somehow "random" values, for
>> actualizing the index tree, index pages might need to be re-read from
>> disk again etc. You can somehow tackle that with a larger page cache,
>> which allows to cache more index pages, but still, sequential PK values
>> perform better, at least for me.
>
> Don't forget the additional overhead of the bigger size of a UUID versus
> an INTEGER (4x) or BIGINT (2x) (assuming storage of the UUID in a
> CHAR(16) CHARACTER SET OCTETS).

Absolutely!

Not that worse with random integers, but still worse than sequential 
integers. Unluckily, I currently don't find the test results.

Regards,
Thomas

Reply via email to