Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 每次重建OLAP多维数据集时,是否必须截断所有表?_Sql_Sql Server_Sql Server 2008_Olap_Cube - Fatal编程技术网

Sql 每次重建OLAP多维数据集时,是否必须截断所有表?

Sql 每次重建OLAP多维数据集时,是否必须截断所有表?,sql,sql-server,sql-server-2008,olap,cube,Sql,Sql Server,Sql Server 2008,Olap,Cube,我们的OLAP多维数据集处理在过去几个月变得非常缓慢,所以我想尝试对其进行优化。我以前的同事,他对它做了一些修改,告诉我在哪里可以找到这个包以及如何阅读它,现在已经不在了。当他展示它的时候,我刚刚开始使用SQL,所以大部分内容我都不太懂。当我现在看这些步骤时,我想我理解了它是如何工作的,整个过程从截断多维数据集所需的所有表并重新导入它们开始 有没有具体的原因?我们仍然使用SQL Server 2008,多维数据集正在从Microsoft Dynamics AX 2009数据库获取数据。主表(In

我们的OLAP多维数据集处理在过去几个月变得非常缓慢,所以我想尝试对其进行优化。我以前的同事,他对它做了一些修改,告诉我在哪里可以找到这个包以及如何阅读它,现在已经不在了。当他展示它的时候,我刚刚开始使用SQL,所以大部分内容我都不太懂。当我现在看这些步骤时,我想我理解了它是如何工作的,整个过程从截断多维数据集所需的所有表并重新导入它们开始

有没有具体的原因?我们仍然使用SQL Server 2008,多维数据集正在从Microsoft Dynamics AX 2009数据库获取数据。主表(InventTrans)有156mil记录,大95GB,索引246GB。真的有必要每天晚上重新装填整张桌子吗?我不能简单地将该表从截断过程中排除,而只是删除过去两年的数据,然后只添加最新的数据吗


我记得他告诉我,企业版的SQL server有一个内置的过程来实现这一点,但是为什么他当时没有手动完成呢?检查他当时的一些代码在我看来,他对SQL也是相当陌生的,所以我不确定这是否有技术原因,或者他是否没有足够的信心尝试它,因为多维数据集是由一家公司在7年前创建的。

基本上,处理不需要截断!但是,根据ETL的结构,可能需要ETL才能获取最新的数据。然而,这是ETL的重新设计,而不是多维数据集本身(定义某种增量负载或其他东西)。因此,您必须区分ETL本身(将数据导入/加载到表中)和多维数据集处理。如果你的数据是日期相关的,你可以考虑用一个日期范围(例如每周)来划分你的立方体——这给了你只处理改变周的可能性。谢谢,这就是我的想法。它取决于日期,因此我将尝试仅更新去年的数据。