2012-08-07 40 views
2

我对Microsoft商业智能开发工作室和数据挖掘查询任务有一个有趣的问题。我有一个包(其中包含一些其他内容)两个数据挖掘查询任务,它从现有数据库获取一些行,对它们执行数据挖掘查询并将它们追加到同一个数据库。两个数据库都比较小(约30,000行,约15列)。BIDS数据挖掘性能问题

这对开发服务器来说是非常好的,但是当我尝试将所有内容转移到生产环境时,我遇到了一个奇怪的问题。在每个数据库中特定的和一致的行数之后,数据挖掘查询任务会挂起(数字为2001年为第一个任务,5001为第二个任务)。任何数量的行少于这些限制,它需要几秒钟。任何更长的时间和任务超时(2小时后)。

需要注意的另一件事是,当我从相同的生产数据库提取信息,但将它们插入到开发服务器上的不同表中时,一切都很顺利。

我只能假设在生产数据库中有一些设置正在搞乱某些东西,但我不知道它可能是什么。不幸的是,我只是一名实习生,并没有建立系统,也没有完全访问所有的东西,但我做了一些探索,并且在设置中找不到任何重大差异。

任何人有任何意见或建议?任何帮助是极大的赞赏。

编辑:谢谢你的答复。我已经在Build New Query窗口下选择了表格。但是,我不认为实际的案例表是问题,因为当我将输出表更改为不同服务器上的表时,该包执行得很好。下面是该查询的一个精简版使用:

SELECT FLATTENED 

    t.field1, 
    t.field2, 
    t.field3, 
    t.field4, 
    t.field5, 
    t.field6, 
    t.field7, 
    t.field8, 
    t.field9, 
    t.field10, 
    t.field11, 
    t.field12, 
    t.field13, 
    t.field14, 
    t.field15, 
    t.field16, 
    t.field17, 
    t.field18, 
    t.field19, 
    ([MiningModel].[Model Output Column]) as field20, 
    PredictProbability([Model Output Column]) 
From 
    [MiningModel] 
PREDICTION JOIN 
    OPENQUERY([Input Table Data Source], 
    'SELECT 
    field1, 
    field2, 
    field3, 
    field4, 
    field5, 
    field6, 
    field7, 
    field8, 
    field9, 
    field10, 
    field11, 
    field12, 
    field13, 
    field14, 
    field15, 
    field16, 
    field17, 
    field18, 
    field19, 
    field 20 
    FROM 
     [Input Table] 
    ') AS t 
ON 
    [MiningModel].[Model Input 1] = t.[field16] AND 
    [MiningModel].[Model Input 2] = t.[field17] AND 
    [MiningModel].[Model Input 3] = t.[field18] AND 
    [MiningModel].[Model Input 4] = t.[field19] AND 
    [MiningModel].[Model Output Column] = t.[field20] 
+0

你真的不能指望人们试图回答这个不知道数据挖掘查询是什么。特别是,出价如何从数据库中提取数据?这听起来像是正在使用查询或视图,而不是原始表。 – 2012-08-07 21:59:14

回答

0

如果您运行探查器和捕获错误,你看到Sort Warnings

你能找出任何不正确的统计数据吗? 也许问题消失后:

UPDATE STATISTICS InputTable WITH FULLSCAN, ALL