The problem you face is very complicated, could be related to Storage Infrastructure, Database configuration (lack of properly table's indexes), Servers, Networking, your laptop, or something else. If you have a smart database admin he/she could investigate what is going wrong when you try to access these tables.
You could try to import the data sets in Tableau Data Engine, it's very efficient and fast as a thunder.
The graph below shows 130M (yes Million) records of air traffic data set, and was created in less than 1 minute on my vintage laptop.
Hey Lindsey -
90-ish% of the time, issues like this are caused by the database itself not being able to satisfy the query request quickly enough for the user's taste - this isn't a Tableau problem, of course - it's a database issue. You just happen to experience the "slowness" via Tableau.
How big are these tables, how many rows does the complete (including the join) result set take to return the standard query tool you use with the database? That'll be the minimum time you should expect it to take in Tableau when "directly connected" to the data source. (Unless you use extracts or otherwise filter the data set before executing your query)
You may want to look into leveraging a context filter to bring back a smaller result set. Also, resist the urge to initially show "everything" in the viz - pre-filter it so that you see the minimum acceptable dataset and then widen your filter if you need to see more.