"John Sidney-Woollett" <johnsw@wardbrook.com> writes: > [ needs to make this fast: ] > -- locate the next order > select WCCustOrderID into vCustOrderID > from CUSTOMER.WCCustOrderStatusLog > where WCOrderStatusID = pStatusID > and Acknowledged is null > and Processing is null > for update > limit 1; > My question is whether postgres can index null values, and if not, do I > have to accept a full table scan when locating records. It indexes them, but "is null" is not an indexable operator, so you can't directly solve the above with a 3-column index. What you can do instead is use a partial index, for instance create index i on CUSTOMER.WCCustOrderStatusLog (WCOrderStatusID) where Acknowledged is null and Processing is null; regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster