Dear guys/girls,
I have a small question which I could not clearly find in the postgreSQL
manual.
if I create this table and index
CRAEATE TABLE test (id SERIAL,c1 VARCHAR(32),c2 VARCHAR(32),c3 VARCHAR(32)
);
CREATE UNIQUE INDEX test_idx ON test(id, c1,c2);
what I try to archive here is that I don't want duplicate pais in my table:
example
INSET INTO test (c1,c2) VALUES('a', 'a'); -- Allowed
INSET INTO test (c1,c2) VALUES('b', 'b'); -- Allowed
INSET INTO test (c1,c2) VALUES('b', 'c'); -- Allowed
INSET INTO test (c1,c2) VALUES('a', 'a'); -- Not allowed since we already
have a duplicate ('a', 'a') pair
INSET INTO test (c1,c2) VALUES('b', 'c'); -- Not allowed since we already
have a duplicate ('b', 'c') pair
etc. etc. I think you get the idea...
What I want to know is that if this is smart do do, or is there a other
better way to make sure I don't insert duplicate pairs in my database.
I'm not sure if a stored procedure is better in my case since I don't really
need the index on columns c1 or c2.
I'm looking for performance technical answers here thus speed vs memory
comparisons. Ofcourse a pointer to a URL will also do..
Best Regards,
Ries van Twisk