Subject Re: [firebird-support] Re: GEN_UUID performance
Author Thomas Steinmaurer
>> You can insert 1000 records per second for 300 million years until you reach the limit of a 64-bit integer.<
>
> Okay, I'm convinced. Numeric(18) it is. BTW, I plan to be here when it rolls over (although a bit dusty, I'm sure).
>
> Thanks again, to the group, for all your guidance.

I find a comparison rather interesting and possibly worth to be
discussed in an article from different perspectives. I ran a VERY simple
test case on Firebird 2.5 SuperClassic on a normal desktop, so no fancy
IO etc. with a 8K page size database inserting one million records into
a two column table. The one database with a table with CHAR(16) OCTSETS
using the built-in GEN_UUID() function for generating a GUID and in
another database a table with a simple BIGINT and a generator.

After inserting: While it's not a big surprise that the GUID databases
has more pages allocated (GUID-DB: 12826 vs. INT-DB: 8392), an
interesting outcome is that the inserting process (a simple stored
procedures) finishes in the INT-DB in ~ 15 sec., whereas in the GUID-DB,
it takes ~ 50 minutes!



--
With regards,

Thomas Steinmaurer
Upscene Productions
http://www.upscene.com
http://blog.upscene.com/thomas/

Download LogManager Series, FB TraceManager today!
Continuous Database Monitoring Solutions supporting
Firebird, InterBase, Advantage Database, MS SQL Server
and NexusDB!