Thanks for your feedback.
Want to tell us more? Send us an email to leave your feedback.
Parallel Query Execution is an advanced property that is hidden by default. See Viewing and Changing Advanced VLDB Properties for more information on how to display this property.
The Parallel Query Execution property determines whether MicroStrategy attempts to execute multiple queries in parallel to return report results faster and publish Intelligent Cubes. This VLDB property has the following options:
Disabling parallel query execution by default allows you to first verify that your reports and Intelligent Cubes are executing correctly prior to any parallel query optimization. If you enable parallel query execution and errors are encountered or data is not being returned as expected, disabling parallel query execution can help to troubleshoot the report or Intelligent Cube.
For reports and Intelligent Cubes that do not use MultiSource Option or database gateway support to access multiple data sources, all queries are processed sequentially.
To support parallel query execution, MicroStrategy analyzes the query logic that will be run for a report or Intelligent Cube for potential multiple queries. Multiple queries are used for tasks that require:
These intermediate results must be stored as permanent tables to be considered for parallel query execution. These permanent tables are required to ensure that the parallel query execution results are available for separate database sessions and connections. If database features including derived tables or common table expressions are used, parallel query execution cannot be used because these techniques are considered to be a single query, which cannot be divided into separate pieces. Therefore, data sources that use permanent tables to store intermediate results are good candidates for parallel query execution.
MicroStrategy uses derived tables and common table expressions by default for databases that are well-suited to use these features to store intermediate results. These databases can often perform their own query optimizations using either derived tables or common table expressions, and therefore may be better suited to using these techniques rather than using MicroStrategy's parallel query execution.
Simple reports in MicroStrategy may not require multiple queries to return the required results, so even if parallel query execution is enabled, there may be no performance benefit. However, there are various MicroStrategy features and techniques that often require multiple queries and therefore can benefit the most from parallel query execution, which include:
If your report or Intelligent Cube uses any of the features listed above, it may be a good candidate for using parallel query execution. Additionally, using parallel query execution can be a good option for Intelligent Cubes that are published during off-peak hours when the system is not in heavy use by the reporting community. Using parallel query execution to publish these Intelligent Cubes can speed up the publication process, while not affecting the reporting community for your system.
There are additional scenarios in MicroStrategy that can require multiple queries. To help analyze which reports and Intelligent Cubes may benefit from the use of parallel query execution, you can use the parallel query execution improvement estimate provided in the SQL view of a report or Intelligent Cube. For more information on this estimate and disabling or enabling the inclusion of this estimate, see Parallel Query Execution Improvement Estimate in SQL View.
There are some scenarios where parallel query execution cannot be used. These are described below:
While performing multiple queries in parallel can improve the performance of query execution in MicroStrategy, it will not provide the best performance or results in all scenarios.
Parallel query execution is disabled by default to allow you to first verify that your reports and Intelligent Cubes are executing correctly prior to any parallel query optimization. If you enable parallel query execution and errors are encountered or data is not being returned as expected, disabling parallel query execution can help to troubleshoot the report or Intelligent Cube.
When multiple queries are performed in parallel, the actual processing of the multiple queries is performed in parallel on the database. If a database is required to do too many tasks at the same time this can cause the response time of the database to slow down, and thus degrade the overall performance. You should take into account the databases used to retrieve data and their available resources when deciding whether to enable parallel query execution.
Disabling parallel query execution can be a good option for reports and Intelligent Cubes that are not used often or ones that do not have strict performance requirements. If you can disable parallel query execution for these reports and Intelligent Cubes that do not have a great need for enhanced performance, that can save database resources to handle other potentially more important requests.
Additionally, you can limit the number of queries that can be executed in parallel for a given report or Intelligent Cube. This can allow you to enable parallel query execution, but restrict how much processing can be done in parallel on the database. To define the number of passes of SQL that can be executed in parallel, see Maximum Parallel Queries Per Report.
Project, report, and template
Thanks for taking the time to give us some feedback.
Why wasn't this helpful? (check all that apply)
Vielen Dank, das Sie sich die Zeit genommen haben, uns Ihr Feedback mitzuteilen.
Warum waren diese Informationen nicht hilfreich? (Zutreffendes bitte auswählen)
Merci de nous avoir accordé un peu de votre temps.
Pourquoi ne vous ont-elles pas été utiles ? (cochez tous les choix applicables)
Grazie per avere dedicato del tempo per fornirci un tuo commento.
Perché non è stato utile? (selezionare tutte le risposte adeguate)
Gracias por dedicar su tiempo a proporcionarnos sus comentarios.
¿Por qué no ha sido útil? (Marque todos los que correspondan)
Obrigado por aproveitar o tempo para nos dar alguns comentários.
Por que isso não foi útil? (marque todas as que se aplicam)
피드백을 위해 시간 내 주셔서 감사합니다.
도움이 되지 않은 이유는 무엇입니까? (해당되는 모든 사항 선택)