Thread: How efficient is select currval?

How efficient is select currval?

From
Chris Velevitch
Date:
If I insert a record into a table with a serial primary key, does
select currval fetch it from the database or does it get it from
within memory?

If it fetches it from the database, should I use a Serializable
transaction or just a read committed transaction?



Chris
--
Chris Velevitch
Manager - Sydney Flash Platform Developers Group
www.flashdev.org.au

Re: How efficient is select currval?

From
Richard Huxton
Date:
Chris Velevitch wrote:
> If I insert a record into a table with a serial primary key, does
> select currval fetch it from the database or does it get it from
> within memory?
>
> If it fetches it from the database, should I use a Serializable
> transaction or just a read committed transaction?

You can control the level of caching, but you'll have to be pushing it
for the serial to be a large part of your overheads. Each sequence is a
small table - you can do "SELECT * FROM my_seq" and see the "insides".

You don't need to worry about transaction isolation for sequences, you
are always guaranteed a new value. The price you pay for this is that
there might be gaps in the series of values you get.

--
   Richard Huxton
   Archonet Ltd