I can think of one, maybe two options:
1) If you're looking to have total control over query execution then the "ideal" way (not knowing any other requirements) would be to use a Tableau data extract. The dashboards would query the extract and you'd set up an extract refresh schedule on Tableau Server/Online at the desired interval.
2) The other option might be to use Initial SQL and a temp table, I know people can do wizardry with that but a) not all sources support initial SQL and b) I'm not totally sure if it's possible.
I agree with Jonathan regarding the data extract. However, if you do need more "live" data, you can hide the variables that are not used in your viz or defined as attributes, thereby limiting the size of the results of the query while maintaining a live connection.