Subject Update from select a long runner
Author Michael Powell
Hello,

I've got what I believe to be a long runner, but I don't know how long. I
wonder if there's any way to predict this in the Firebird environment?

UPDATE tblacqinfo ai
SET ai.vmuchannelinfoid = (select max(id) from tblvmuchannelinfo ci where
ci.vmuidx = ai.vmuidx)
WHERE EXISTS (select 1 from tblvmuchannelinfo ci where ci.vmuidx =
ai.vmuidx);

A little back story; we're putting primary and foreign keys into already
existing data tables and wanting to back fill the ids with some (somewhat)
known good data. A best guess is that this query will do the trick. It's
running, and taking upwards of 20 minutes now... So hence my concern.

Record counts are: TBLVMUCHANNELINFO = 288, TBLACQINFO = 528, where we're
expecting there to be a handful of ACQINFO records to correspond with
CHANNELINFO records, and where VMUIDX is the application glue that provides
the referential integrity context.

I haven't sent Firebird into any infinite loops have I?

Thank you,

Michael


[Non-text portions of this message have been removed]