Rod Taylor wrote:
On Thu, 2003-10-02 at 14:30, Rong Wu wrote:


I have a select like this:

SELECT MAX(transactionid) FROM cbntransaction WHERE transactiontypeid=0;

For various reasons (primarily MVCC and the ability to make custom
aggregates making it difficult)  MAX() is not optimized in this fashion.


  SELECT transactionid
    FROM ...
   WHERE ...
ORDER BY transactionid DESC
   LIMIT 1;

Despite this good suggestion, if you're using this technique to generate the next transaction ID, you're going to have errors as concurrency rises.

Use a SERIAL, which guarantees that you won't have two processes generate
the same number.

Bill Moran
Potential Technologies

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

Reply via email to