前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优化Power BI中的Power Query合并查询效率:每个Query最高256MB内存限制的说明

优化Power BI中的Power Query合并查询效率:每个Query最高256MB内存限制的说明

作者头像
陈学谦
发布2020-06-17 15:10:12
5.3K0
发布2020-06-17 15:10:12
举报
文章被收录于专栏:学谦数据运营

关于优化Power BI中的Power Query合并查询效率,之前写过三篇文章:

优化Power BI中的Power Query合并查询效率,Part 1:通过删除列来实现

优化Power BI中的Power Query合并查询效率,Part 2:合并查询前or后删除多余的列有区别吗?

优化Power BI中的Power Query合并查询效率,Part 3:Table.Join和SortMerge

针对文中说到的256MB内存限制的问题,有朋友提出了质疑:

为此,我也专门去研究了一番,找到了一些解答。

Chris Webb的原文中是这么说的:

其实作者只是根据以往的经验和博客内容进行的合理猜测。作者给出了原文链接,所以先找到原文看看是怎么说的:

https://blog.crossjoin.co.uk/2020/05/21/monitoring-power-query-memory-usage-with-query-diagnostics-in-power-bi/

在这篇文章中,作者提到2020年4月PowerBI的更新中Query Diagnostics功能被加强:

https://docs.microsoft.com/en-us/power-query/querydiagnostics

https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-april-2020-feature-summary/#_Enhancements_to_Query

Power Query每半秒种会记录一次资源利用情况,如果是时间很短的查询,没啥用处,但是如果查询时间很长,那么就可以用它来进行一些分析了。

下图就是一个查询的过程被Query Diagnostics记录了一下,横轴是时间,纵轴是消耗的内存:

上图没什么异常,因为使用内存比较小。

不过,当运行一个需要内存较大的查询时,就会出现下面的图形:

黄色的线代表提交的数据量大小,显示的是真实的查询占用的内存;而蓝色的线代表的是查询使用的物理内存的大小。我们可以看到,单一查询的物理内存使用永远不会超过256MB,那么查询一旦大于256MB怎么办呢?只能调用虚拟内存分页机制了,这个过程造成了运行效率降低。

为什么限制了物理内存的使用未256MB呢?

微软开发团队Curt Hagenlocher大神在解答中是这么说的:

原文链接:https://social.technet.microsoft.com/Forums/en-US/471b18e6-9086-489d-9445-12b3a6205120/pq-query-optimization?forum=powerquery)

将表存储在内存中,这样后续再调用这些表的时候可以直接在内存中调用,而不是再从硬盘中获取,提高了效率。但是这样会造成一个问题,如果表比较多的情况下,那么会发生内存占用非常大从而导致卡死的现象,为了避免这个情况发生,对每个查询限制了256MB的内存最高占用,一旦超过256MB的查询,会强行使用页面文件。

以下这篇文章也给出了256MB限制的说明:

https://social.technet.microsoft.com/Forums/en-US/d7a858db-9905-4f97-8a77-bed761a92423/questions-about-the-technical-limits-of-power-query?forum=powerquery

参考文档:

https://blog.crossjoin.co.uk/2020/05/21/monitoring-power-query-memory-usage-with-query-diagnostics-in-power-bi/

https://docs.microsoft.com/en-us/power-query/querydiagnostics

https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-april-2020-feature-summary/#_Enhancements_to_Query

https://social.technet.microsoft.com/Forums/en-US/471b18e6-9086-489d-9445-12b3a6205120/pq-query-optimization?forum=powerquery)

https://blog.crossjoin.co.uk/2019/04/21/power-bi-dataflow-container-size/

https://social.technet.microsoft.com/Forums/en-US/d7a858db-9905-4f97-8a77-bed761a92423/questions-about-the-technical-limits-of-power-query?forum=powerquery

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档