|
Line 100 of the program: Data ping Set *some landing table *Other conditionals* Run; Line 900: Data ping Set ping Merge pong Run; Line 1400: Proc sort Data= ping By *couple of variables* Run; Line 3000: Data ping Set ping *Fuckton of conditionals* Run; Line 3500: Dara final_ping Set ping Merge ding Run; Line 3900 Proc sort final_ping nodupkey By *esoterica* Run; Line 4300: Data final_ping Set final_ping Merge 20+ other datasets Run; ... My job is to locate the source of nondeterministic row selection in this program. gently caress you.
|
# ¿ Jul 6, 2023 08:20 |
|
|
# ¿ Apr 30, 2024 05:17 |
|
Had to look at some poorly running code. Turns out the issue was a library, call it lnd.lib.input_vw for argument's sake. Every time it's used in a join spool space usage goes up like crazy. Did some investigations in dbc.tablesv. lnd.lib.input_vw is pretty much: code:
1. hist.db.input_tb contains all entries for 2016 and before (e.g. it's a historical data store) and lnd.db.input_tb contains everything from 2017 onwards. File sizes are 2TB and 1TB respectively. 2. While it has the same primary index (on a unique alphanumerical key) as lnd.db.input_tb, hist.db.input_tb has never had statistics run on its primary index. Even a code:
"Why do our programs run so slow?"
|
# ¿ Apr 2, 2024 01:57 |
|
Apologies for not contributing earlier.code:
|
# ¿ Apr 4, 2024 14:58 |
|
Our org uses SAS programs for regular scheduled reporting, and our data warehouse is a Teradata SQL environment that we can connect to using SAS EG. Generally speaking our programs are set up to to a whole bunch of data manipulation in Teradata, then bring refined datasets into the SAS grid in order to perform a few final transformations and then create the report outputs. However, occasionally I will get a 'can you see why this program is running poorly' maintenance request and well... So someone creates a SAS view via a connection to Teradata. Something like this: code:
code:
|
# ¿ Apr 10, 2024 23:35 |