Subject | Generating UniqueID [2] |
---|---|
Author | zifnabbe@users.sourceforge.net |
Post date | 2001-11-09T19:01:55Z |
Thanks all for your information!
I see thus 2 possible solutions to creating unique ID's:
1) using numeric(18,4) or numeric(18,0):
what the difference between these if you look at the generated key as
an INT64? The key is created with GEN_ID(key, 1), does increment with
1, so I guess both are the same if we look at them in function of
unique keys. But in speed numeric(18,4) is slower? Am I correct?
2) Usage of a GUID key:
I see one big benefit in this that even if the database isn't
reachable, you still generate unique ID's on different PC's.
The possible cons:
1. I don't see a way on creating it at the moment on database level,
eg GEN_GUID (I know Oracle has something like that). OR am I wrong
here? Did somebody already made this in a trigger on
Firebird/Interbase level?
2. Slower than using an INT64 key.
3. I suppose it is not OS dependend, or am I wrong here as well?
Somebody who wants to elaborate on this?
Thanks, Tom.
I see thus 2 possible solutions to creating unique ID's:
1) using numeric(18,4) or numeric(18,0):
what the difference between these if you look at the generated key as
an INT64? The key is created with GEN_ID(key, 1), does increment with
1, so I guess both are the same if we look at them in function of
unique keys. But in speed numeric(18,4) is slower? Am I correct?
2) Usage of a GUID key:
I see one big benefit in this that even if the database isn't
reachable, you still generate unique ID's on different PC's.
The possible cons:
1. I don't see a way on creating it at the moment on database level,
eg GEN_GUID (I know Oracle has something like that). OR am I wrong
here? Did somebody already made this in a trigger on
Firebird/Interbase level?
2. Slower than using an INT64 key.
3. I suppose it is not OS dependend, or am I wrong here as well?
Somebody who wants to elaborate on this?
Thanks, Tom.