|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/dax-optimization-and-performance/
课程评论:没有评论
**课程名称:DAX 性能优化** **课程概述:** 本课程旨在帮助学习者掌握 DAX 的优化和性能调优技巧,解决在实际应用中遇到的性能瓶颈问题。 **课程内容亮点:** * **数据建模基础:** 强调数据建模的重要性,特别是星型架构的原理,以及维度表和事实表的应用。 * **VertiPaq 引擎深入解析:** 详细讲解 VertiPaq 引擎的数据压缩机制,重点关注数据类型选择和基数(Cardinality)对数据压缩和 DAX 性能的影响。 * **引擎工作原理:** 深入理解 VertiPaq 的公式引擎和存储引擎,以及它们如何协同工作。 * **性能监控工具:** 介绍并演示 SQL Server Profiler 和 DAX Studio 等工具,特别是利用 DAX Studio 的 Server Timings 功能进行性能分析。 * **xmSQL 的应用:** 学习 xmSQL 如何帮助理解 DAX 代码的执行过程。 * **存储引擎加速机制:** 详细解读多线程和数据缓存如何提升存储引擎的性能。 * **CallbackDataId 的规避:** 重点讲解 CallbackDataId 的影响以及如何有效避免。 * **常见优化场景:** 提供至少半打(6个)常见的 DAX 优化问题和解决方案。 **本课程将帮助您:** * 理解 DAX 性能瓶颈的根源。 * 掌握优化 DAX 查询的实用技巧。 * 熟练运用专业工具进行性能分析和调优。 * 提升 Power BI 和 Analysis Services 中 DAX 计算的效率。
DAX can seem simple when just learning but then gets progressively more difficult and it is very hard to master. There are so many subtilties. This makes trying to figure out why your DAX code is underperforming, and fixing it, overwhelming at times. This course attempts to make this process easier. The course starts with the importance of proper data modeling and why a Star schema is so critical. We then cover the concepts of normalization and denormalization along with the use of dimension and fact tables. We cover in depth the importance of using the VertiPaq Analyzer when exploring the makeup of your data model.The course then jumps into the VertiPaq engine and the techniques used to compress data. We cover why choosing the correct data types in your model is so critical and the importance of data cardinality in how well data is compressed, which directly affects the performance of all your DAX code.We then explore the two engines that make up VertiPaq, the formula engine and storage engine. SQL Server Profiler and DAX Studio are introduced as two tools you can use to perform performance monitoring. DAX Studio is used heavily and many DAX Studio examples are used in demonstrating how important the tool is for performance monitoring and evaluation utilizing the server timings feature. We cover xmSQL and how useful it is in getting a handle on what the engines are doing when executing your DAX code. Multiple threads and the data cache are what makes the storage engine blazingly fast and we cover this in detail. The CallbackDataId is extensively covered and why we want to avoid it and how to avoid it. We wrap up with at least a half dozen common optimization problems / scenarios and how to address them.