gpt4 book ai didi

tsql - 创建从 Microsoft SQL 服务器到 AS/400 的连接

转载 作者:行者123 更新时间:2023-12-01 12:48:20 24 4
gpt4 key购买 nike

我正在尝试从 Microsoft SQL 服务器连接到 AS/400,以便我可以从 AS/400 中提取数据,然后将数据标记为被提取。

我已经成功创建了 OLE DB "IBMDASQL"连接,并且能够提取一些数据,但是当我尝试从一个非常大的表中提取数据时遇到了问题

这运行良好,并返回 1.7 亿个计数:

select count(*)
from transactions

这个查询在我放弃之前执行了 15 个小时。 (它应该返回零,因为我还没有将任何东西标记为“处理中”)

select count(*) 
from transactions
where processed = 'In process'

我是 Microsoft 人员,但我的 AS/400 人员说“已处理”列上有一个索引,并且在本地,该查询会立即运行。

对我可能做错了什么有任何想法吗?我找到了一个只有 68 条记录的表,并且能够在大约一秒钟内运行此查询:

select count(*)
from smallTable
where RandomColumn = 'randomValue'

所以我知道 AS/400 至少能够理解这种类型的查询。

最佳答案

我不得不多次打这场仗。

有两种方法可以解决这个问题。

1) 将您的数据从 AS400 暂存到 SQL 服务器中,您可以在其中优化索引
2) 要求 AS400 人员创建加速数据检索的逻辑 View ,您的 AS400 程序员是正确的,索引会有所帮助,但我忘记了他们用来定义类似于 sql server View 的“ View ”的术语,我相信它类似于“物理”与“逻辑”。逻辑就是你想要的。

第三,1.7 亿条记录是很多记录,即使对于像 SQL Server 这样的关系数据库,您是否考虑过每晚运行一个 SSIS 包,将您的数据暂存到您自己的 SQL 表中,看看它是否会提高性能?

关于tsql - 创建从 Microsoft SQL 服务器到 AS/400 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6345212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com