Sorry, I should have been clearer. I meant because we need to check for trigger firing pre/post insertion, and the trigger definitions expect tuples to be inserted one by one, therefore we cannot insert N- tuples at a time into the heap. Checking for triggers itself is not taking up much CPU at all. If we could predetermine that there is not any triggers for a relation, inserts into that relation could then follow a different path that inserts N-tuples at a time.

Regards,
-cktan

On May 13, 2007, at 4:54 PM, Tom Lane wrote:

"CK Tan" <[EMAIL PROTECTED]> writes:
COPY/INSERT are also bottlenecked on record at a time insertion into
heap, and in checking for pre-insert trigger, post-insert trigger and
constraints.

To speed things up, we really need to special case insertions without
triggers and constraints, [probably allow for unique constraints],

Do you have any profiling data to back up these assertions?  I haven't
noticed that firing zero tuples takes any visible percentage of COPY
time.

                        regards, tom lane




---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org

Reply via email to