11 Replies Latest reply on Aug 3, 2015 5:57 AM by Marco Gatti

    Parallel query Execution



      I have a dashboard which has around 7 bar charts on it. It also has 2 global filter and parameter.


      Dashboard takes around 25 seconds to load. Is there anything i need to check? Is there any way i can execute my queries in parallel than executing them in sequentially.


      Please let me know if there is way to do it.


      Thanks & Regards



        • 1. Re: Parallel query Execution
          Aaron Steers



          I have the same request. In a dashboard with multiple sheets, we'd like all queries to kick off simultaneously and run in parallel.

          • 2. Re: Parallel query Execution
            . Indumon

            This feature is already available in Tableau 8.0, unfortunately for Tableau Server only. Hope this will available in Desktop soon

            Performance | Tableau Software

            • 3. Re: Parallel query Execution
              Matt Lutton

              If your data isn't sensitive, you can post your workbook here and we can look at it and make suggestions for performance.  There is also a performance recorder and performance analyzer that may help you figure out how to improve performance.


              Are you using an extract with only the data you really need?


              Performance Tips


              Also have attached their PDF on Performance

              • 4. Re: Parallel query Execution
                Russell Christopher

                To add a little bit more context to this - while we support parallel query execution in Server, we do so for queries being  executed against different data sources only. So, if your 7 bar charts execute against the same data source, query execution will still be serial.


                Workaround? Create duplicate data sources which use different usernames & passwords and assign each one to a different chart. Doing this will "fool" Tableau into thinking it's connecting to different data sources and therefore we'll do parallel rendering & query execution.

                • 5. Re: Parallel query Execution
                  Aaron Steers

                  This is becoming extremely problematic. We have a dashboard (for instance) that contains 6 or 7 sheets, each with an execution time of 3-10 seconds. Because of the volume of data, we do not have the option of creating a Tableau Extract. If the entire dashboard could be refreshed in max query execution time (5-10 seconds), that would be fine, but instead the queries are running serially and the refresh times are a minute or sometimes more. This prevents our users from wanting to click on any of the interactive features of the dashboard (the primary reason we want to use Tableau and not another "canned-reporting" tool).


                  I'm also not sure we can realistically maintain 7-10 data source clones per workbook, and I believe this will also create cross-datasource filtering issues when we would want shared filters across worksheets in the same dashboard.


                  Any other workarounds?

                  • 6. Re: Parallel query Execution
                    Russell Christopher

                    Nope, sorry. It’s a workaround – and workarounds are never optimal ☺


                    Your best bet is to tune each viz so that it is returning the minimum amount of data necessary via filters – you might also consider re-working them so that the lion’s share run off an aggregated extract (not the lowest grain of your data, therefore much smaller). You’ll have a few reports which really need to see the lowest grain of your data – these can be live connections – but hopefully the reports will be highly filtered already by the “other” vizzes (via action filters) before they’re run.

                    • 7. Re: Parallel query Execution
                      Aaron Steers

                      Yeah, we're doing customer-level analysis so the size of the data is already extremely small (one customer and only a few thousand rows), with the bottleneck being the RDBMS (Oracle). It seems the only tuning we can do is to modifying the physical data structure of the underlying tables, but that can only offer marginal improvements since the best case RDBMS performance (lets say 2 or 3 seconds) is still going to be multiplied by the number of sheets in the dashboard (let's say 6).


                      Do we know if parallel query execution is in the Tableau roadmap?

                      • 8. Re: Parallel query Execution
                        Jason Flittner

                        I'm with Aaron on this.  I think Tableau needs to have a better solution than just recommending a duplicate data sources workaround.  Could you imagine changing a complex set of calculated fields in 8+ data sources?


                        Thank you,

                        Jason Flittner

                        • 9. Re: Parallel query Execution
                          William Henzell

                          Agreed with Aaron and Jason on this. Not a satisfactory workaround to duplicate data sources. Some of our dashboards have so much complexirty built-in and need to be kept as simple as possible.


                          Russell Christopher - what is the techincal roadblock stopping parallel execution?

                          • 10. Re: Parallel query Execution
                            Rick Kunkel

                            Created idea for parallel rendering even when using same data source:


                            • 11. Re: Parallel query Execution
                              Marco Gatti

                              I know it has been years since this post was originally created, but just wanted to add the latest information.


                              Tableau 9 incorporates 2 new features that could potentially improve your response times: Query Fusion and Parallel Queries. You can read more here: Tableau 9.0: Smart Meets Fast


                              Hope this helps.