Every LOD calculation is likely generating a sub-select statement (you can check Tableau Desktop logs to see the actual SQL), so it could very well be that the generated query is bringing your DB to a crawl. The only way to truly figure that out is to capture the SQL in the Tableau Desktop logs and have a DBA analyze the query for performance. If you multiple LOD calcs, I'm sure that query can become rather....gnarly.
One idea... have you tried creating a Tableau extract of your data? LOD calcs definitely perform better using TDE extracts, so worth a try if you can live with an Extract for this particular analysis.
Thanks for the reply Steve. I am looking at the log files now and am blown away by how crazy the sql is on this. I hadn't really considered what is driving the stuff Tableau was doing.
Now that you mention it, I'm thinking the best solution would be to write these calculated fields into the sql that's creating the view in the first place so they are already there. Now I just need to get the permission to do that, and figure out the best way to write these things into sql.