加入Teradata SQL连接时访问速度慢?

时间:2013-06-21 17:04:51

标签: sql performance ms-access teradata

我有一个简单的Access数据库,用于创建大量报告。我已经链接到我们组织中的Teradata数据库服务器,以提取一些额外的员工级详细信息。员工编号上有一个简单的左连接,我拉的是名称和角色。

没有连接的查询可能需要一分钟左右才能运行,加载后非常快。在Teradata连接上左连接可以减慢所有内容的速度。通过Excel运行查询可能需要10分钟左右。在Access中加载查询时,滚动浏览非常慢。

我应该注意Teradata服务器没有性能问题。我从相同和不同的表中提取不相关的报告,具有复杂的连接并且速度非常快。

我尝试创建一个更简单的查询,几乎注意到了,性能问题仍然存在。这是代码:

SELECT EMPL_DETAILS_CURR.NM_PREFX, EMPL_DETAILS_CURR.NM_GIVEN, 
MC.DT_APP_ENTRY, MC.CHANNEL_IND

FROM MC LEFT JOIN EMPL_DETAILS_CURR ON MC.EMP_ID = EMPL_DETAILS_CURR.EMP_ID;

MC中只有7000条记录。

1 个答案:

答案 0 :(得分:2)

如果要在MS Access表和Teradata表之间连接数据,则必须使用本地计算机上的Microsoft JET Engine完成连接。这意味着Teradata表中存在的数据将被转移到本地计算机,以便可以将其连接起来。

如果表格全部在Teradata上并通过MS Access中的链接表进行访问,则连接可能仍在本地进行。我建议将查询作为ODBC Direct(我忘记确切的术语)查询运行,以便将SQL传递给Teradata进行执行,并在查询完成时将结果返回给MS Access。