I am working on migrating to postgres and had some questions regarding optimization that I could not find references in the documentation:


1. Is there any performance difference for declaring a primary or foreign key a column or table contraint? From the documentation, which way is faster and/or scales better:



CREATE TABLE distributors ( did integer, name varchar(40), PRIMARY KEY(did) );

CREATE TABLE distributors (
     did     integer PRIMARY KEY,
     name    varchar(40)
);


2. Is DEFERRABLE and INITIALLY IMMEDIATE or INITIALLY DEFERRABLE perferred for performance? We generally have very small transactions (web app) but we utilize a model of:


view (limit scope for security) -> rules -> before triggers (validate permissions and to set proper permissions) -> tables.

I know there were some issues with deferring that was fixed but does it benefit performance or cause any reliability issues?


Thank you for your assistance and let me know if I can offer additional information.


--spt




---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to