mysql-行使SQL呼吁中的“按/排序”和归并联接为数百万行优化SSIS
嗨,我今朝正在实行执行Upsert / delete来优化SSIS包,该Upsert / delete处理赏罚来自长途MariaDB源中的表的约9,300万行. 当前,我在措施包中行使“排序和归并联接”,但正如我阅读的一些指南所提议,提议在处事器中而不是在SSIS DT中行使排序成果来对处事器举办排序,由于这会对SSIS处事器内存造成承担. 因为我当前在Azure数据工场中行使此办理方案,因此运行措施包会失败(纵然我增进了措施包端和Azure数据工场中的“超时”属性,但大都环境下都是超时). 提议的办理要领是什么? 假如我领略正确而且如前所述,则可以通过对DB-Server-Side举办排序来跳过SISS处事器上的负载.可是因为我是整个SQL和SSIS的新手,以是我不太确定SQL Command中的排序方法怎样. 我也固然有关于批处理赏罚的信息,可是纵然在这里,我也不确定如安在SSIS中事变. 这里保举什么? 我的SSIS软件包此刻看起来像这样: 我遵循了此类示例:Synchronize Table Data Using a Merge Join in SSIS (仅供参考:赤色错误图标在哪里,是由于我在屏幕截图时代失去了毗连,不然,这是一个完全正常的办理方案.) 最佳谜底 我有两个提议:处事器端排序 在“ OLE DB源”中,将会见模式变动为“ SQL呼吁”.并行使ORDER BY子句:
之后,您应该打开OLE DB源高级编辑器(右键单击OLE DB源,表现高级编辑器),转到“列”选项卡,将outputIsSorted属性变动为True,并配置变动ORDER BY子句中行使的列的SortKeyPosition. > SSIS sorted data flows 分块读取数据 我对MariaDB SQL语法不相识,可是我将在SQLite和Oracle中提供一些示例: > Reading Huge volume of data from Sqlite to SQL Server fails at pre-execute 更新1-包题目 软件包中存在一些题目: >您正在统一张桌子上写字 一些提议: >实行行使暂存表而不是从统一表读取和写入,由于您正在从统一方针表读取,写入,删除和更新. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |