I have a BAQ that’s pretty basic with just a lot of left joins. When I first open up this BAQ (or the Dashboard using it) I get a timeout error, but eventually after a few more attempts the BAQ executes, and executes in a quick time as well…
I’ve noticed then when testing a BAQ’s execution time, I often get better numbers after re-running it. I guessed that some of the query is temporarily being stored in the SQL engine, and thus doesn’t have to start from scratch on subsequent runs.
If you have a huge file like PartTran or TranGLC in the mix, you can try putting it in a subquery so it only runs once, instead of every time you get a new record from the table it’s connected to.