I found that my Account.Id is looping because that is a calculated value (multiple properties combined into one).
You are correct, it is more WHERE conditions. In the original query I did have those values as more WHERE, but I am attempting to speed up the processing.
I started looking at the data, and found the query was doing A LOT of process/retrieving of data that was later thrown on the floor. If I could make the query use the Account.Type first, I would eliminate extra time joining other (large) tables.
You are correct, that where clause is not exactly right (as this is not my real SQL, but a representation of what I was doing)
select Account.Name, Account.State, Transaction.Amt, Transaction.Date, Transaction.Servicefrom Transaction left join Account on Account.Id = Transaction.Account where Transaction.Account in ( Select Account.Id from Account where Account.Type is not null and Account.Id>123456789 and Account.Id<=323456789)and Transaction.Date >= ?and Transaction.Date <= ?
I attempted to use '%NOFLATTEN', which changed the 'show plan', but the range is not acknowledged in the plan, showed 'looping on'.
I also ran a real SQL and watched via JOBEXAM and the process started with 0.
Log in or create a new account to continue