On Mon, Nov 23, 2009 at 3:53 PM, Jason Dictos <jdictos@barracuda.com> wrote:
> Is an INSERT command with a SELECT statement in the RETURNING * parameter
> faster than say an INSERT and then a SELECT? Does the RETURNING * parameter
> simply amount to a normal SELECT command on the added rows? We need to
> basically insert a lot of rows as fast as possible, and get the ids that
> were added. The number of rows we are inserting is dynamic and is not of
> fixed length.
With INSERT ... RETURNING, you only make one trip to the heap, so I
would expect it to be faster. Plus, of course, it means you don't
have to worry about writing a WHERE clause that can identify the
row(s) you just added. It sounds like the right tool for your use
case.
...Robert