我想结合多个"收集统计数据"插入语句后,在SqlServer上执行openquery到Teradata。有办法吗?我无法在线找到答案。这是一个例子:
EXEC(' INSERT INTO TABLE1 SELECT * FROM TABLE2; 收集TABLE1 INDEX(IDX1,IDX2)的统计数据; 收集TABLE1 INDEX(IDX3)上的统计数据;')AT [linkserver];
答案 0 :(得分:1)
COLLECT STATS
是一个DDL语句,必须立即提交,无法在多语句请求中运行多个收集。
但是你可以简单地在一个收集中收集多个统计数据,这应该有效:
EXEC ('INSERT INTO TABLE1 SELECT * FROM TABLE2;
COLLECT STATISTICS INDEX ( IDX1,IDX2), INDEX ( IDX3) ON TABLE1;') AT [linkserver];