Re: Is the query engine always smart enough to know when to generate an internal CTE on a query?
Vern Hamberg via MIDRANGE-L <[email protected]>
| Newsgroups | gmane.comp.hardware.ibm.midrange |
|---|---|
| Message-ID | <[email protected]> |
Hi Dan I think others have mentioned this, and I'll stay say it - run both versions - with and without CTE - in Visual Explain. First see if there are table scans in the "without" version, then see if you can see why - I know you know this stuff, too. See if there are indexes recommended, of course. Are the WHEREs internal to that main table? I'm inclined to say both will be similar. Now using a CTE, that always seems similar to having a view that is the same thing - views are executed at run-time but they simplify the syntax, same as one of the replies said, to segregate complexity - I made that phrase up, I think! :) Anyhow, good luck, it'll be interesting to hear your results. *Regards* *Vern Hamberg* IBM Champion 2025 <cid:[email protected]> CAAC (COMMON Americas Advisory Council) IBM Influencer 2023 On 8/7/2026 8:14 AM, Peter Lunde wrote: > Hi Dan, > > I think an explicit CTE is worth a try. > > Best Regards, > > Peter. > 647-456-3124 > [email protected] > > ________________________________ > From: MIDRANGE-L<[email protected]> on behalf of Dan Bale via MIDRANGE-L<[email protected]> > Sent: Thursday, August 06, 2026 17:23 > To: Midrange Systems Technical Discussion<[email protected]> > Cc: Dan Bale<[email protected]> > Subject: Is the query engine always smart enough to know when to generate an internal CTE on a query? > > We've got a long-running query that has a tendency to get canceled because it hits our temporary storage threshold. > > The current table has a lot of conditions in the WHERE clause on the primary table that greatly narrow the rows from that table. There are also 15 left joins on that primary table. I've thought about modifying the query to use a CTE on the primary table and move the conditions in the WHERE clause to the CTE. > > I'm just wondering if the query engine optimizes this anyway without the explicit CTE. Thoughts? > > - Dan Bale > *** CONFIDENTIALITY NOTICE: The information contained in this communication may be confidential, and is intended only for the use of the recipients named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please return it to the sender immediately and delete the original message and any copy of it from your computer system. If you have any questions concerning this message, please contact the sender. *** > -- > This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list > To post a message email:[email protected] > To subscribe, unsubscribe, or change list options, > visit:https://lists.midrange.com/mailman/listinfo/midrange-l > or email:[email protected] > Before posting, please take a moment to review the archives > athttps://archive.midrange.com/midrange-l. > > Please [email protected] for any subscription related questions. > > You can help support midrange.com by visitinghttps://donate.midrangecom and making a contribution. -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/midrange-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l. Please contact [email protected] for any subscription related questions. You can help support midrange.com by visiting https://donate.midrange.com and making a contribution.