Hi, Webb Sprague. You wrote:
Yup. It just finished executing a little while ago. With the explicitly interpolated array in place, I got the following: LOG: statement: UPDATE TransactionsThe previous version, which included lots of calls to RAISE NOTICE and also used a subselect, had the following timing: LOG: statement: UPDATE Transactions(I keep timing information in the logfile, rather than using \timing.) So it looks like this didn't make much of a timing difference at all. And what little difference there was, was negative. Bleah. What you or I think is a minor change isn't necessarily what theGood idea. I'll see if I can get the function to be a bit cleaner, although I'm not sure if it is, given the constraints of the problem. That's one of the reasons why I've been adding these "hints" to the database -- so that I can have many small queries, rather than one large one. I would also try amortizing the analysis with triggers, rather thanThe data that I'm dealing with is not changing over time. So I've been trying to build the transactions table (aka my data warehouse) slowly, adding one or two columns at a time with hints that will make extracting the data easier. Unfortunately, building those hints has proven to be very slow going. Reuven |