sql - 每次重建 OLAP 多维数据集时,您是否必须截断所有表?
问题描述
在过去的几个月里,我们的 OLAP Cube 处理变得非常缓慢,所以我想尝试对其进行优化。我以前的同事对它进行了一些修改并告诉我在哪里可以找到包以及如何阅读它,现在已经不在了,当他展示它时,我刚刚开始使用 SQL,所以我真的没有了解大部分。当我现在查看这些步骤时,我想我了解它是如何工作的,整个过程从截断多维数据集所需的所有表并重新导入它们开始。
这有什么具体原因吗?我们仍在使用 SQL Server 2008,Cube 正在从 Microsoft Dynamics AX 2009 数据库中获取数据。主表 (InventTrans) 有 1.56 亿条记录,大小为 95GB,索引为 246GB。真的有必要每晚重新加载整张桌子吗?我可以不简单地从截断过程中排除该表,而是删除过去 2 年,然后只添加最新数据吗?
我记得他告诉我企业版的 SQL Server 有一个内置的过程,但是他当时为什么不手动做呢?从那时开始检查他的一些代码,在我看来,他对 SQL 也很陌生,所以我不确定这是否有技术原因,或者他是否没有足够的信心尝试它,因为 Cube 是构建的7年前的一家公司。
解决方案
推荐阅读
- emeditor - 建议从文件夹中添加拆分和合并文件
- jmeter - Jmeter 5.3 - Blazemeter 并行控制器 (0.9) 的套接字关闭问题
- javascript - 如何在json数据中显示值
- python - 如何使用 python 处理从不同设备同时发送到一台服务器的多个 Web 表单?
- mysql - Maven WAR JSP 项目 + MySQL + Tomcat:无法获得连接,数据源无效:“java.sql.SQLException:找不到合适的驱动程序
- java - Java:在 Linux 上向 Windows 发送文本
- git - 如何在 Atom 的树视图中摆脱这种恼人的绿色?
- objective-c - 为什么在比较崩溃时对 NSUInteger 进行减法运算?
- r - 使用 R 将来自两个 data.frames 的数据相乘和平均成一列
- r - 在 EXPSS 摘要中保留标签