If you have large volume of data then for better performance you use extract instead of live. If its a daily transaction data then create a scheduler to incrementally load the new data into the extract. Try to reduce the number of columns from your data source. Use only required columns from database level.
There is not a way to change how Tableau writes queries. However if you know you only need this one value ran you can make an extract which will be faster, but you can also hide all the fields that you are not using which will not query then at the database level. Another final step or approach is to aggregate your data so that you have less calculations (if possible). You would do this while creating an extract as well.
Hi Mahfooj and Carl,
I am amazed at the speed of response in here! Thank you very much :-)
I would like to create extracts, but I need to use row-level security, which is implemented in the DW. We have not yet identified a way to do this efficiently with extracts in our setup, so currently extracts is not a solution for me.
I guess I wil have to speak with my DBA about memory limits :-)
All the best!
You can do row-level security with an extract. Tableau handles this as well. Top of the page on the menu ribbon, select server then use 'create user filter'. You're going to need Tableau Server for this of course and you may want to create some groups so that members in different groups can have access to different sections of fields. Based on a given dimension and the aliases within it you can allow certain groups to see information based on it. User Filters and Row Level Security | Tableau Software
Another answer to this question - upgrade! We've made some improvements in how Tableau generates queries that will improve exactly this sort of situation. I think the changes were in Tableau 9.1, but might be in 9.2.