Hi,
I use the _method in proc sql in order to know the execution plan, but I have a question, ¿is there anyway to change the execution plan in SAS?. I know that creating an index can change the execution plan, but I dob't know other options...
Any help will be greatly appreciated
proc sql _method;
create table prueba3 as
(select cod_articulo, sum(hc_venta) as ag_venta
from prueba1
group by cod_articulo);
quit;
You can try the "Magic" option detailed in this paper https://www.mwsug.org/proceedings/2012/S1/MWSUG-2012-S109.pdf but I rather suspect that the SQL Optimiser will normally pick the best plan anyway. By the way if you want to learn more about Proc SQL Kirk Lafler (the author of the linked paper) is the acknowledged guru on the subject. A google search should uncover lots of papers he's written.
You can try the "Magic" option detailed in this paper https://www.mwsug.org/proceedings/2012/S1/MWSUG-2012-S109.pdf but I rather suspect that the SQL Optimiser will normally pick the best plan anyway. By the way if you want to learn more about Proc SQL Kirk Lafler (the author of the linked paper) is the acknowledged guru on the subject. A google search should uncover lots of papers he's written.
Thanks, MAGIC= doesn't work...as you said
Other question...¿is possible to use hints (similar to Oracle) in SAS?
You can also specify _tree option. I think you'll get better answers in SQL communities in Stackoverflow.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.