cckramer wrote:
> I have table for online chat system that keep messages sent between
> users.
> Question: is it okay to use timestamp as primary key, or there is
> possibility of collision? (Meaning two processes may INSERT into table
> within same millisecond.) It is a web application.
tometzky wrote:
> If your insert fail you can always try again after some random short
> time.
But then the timestamp field does not accurately represent the actual
time of the event. If you really want a primary key, and you really
don't want to just use a sequence default, I would make the key a
composite:
PRIMARY KEY (user_id_from, user_id_to, message_time)
This should cut way down on the possibility of key collision.
- John D. Burger
MITRE