我在普及(btrieve)数据库上有一个遗留系统,该数据库有一个表格,列出了产品库存。该表具有> 5,000,000行,但只有115,000行的值不是0.这些是我试图提取到MSSQL数据库中的行。
现在,通常我会在qty列上放一个索引并通过说where qty <> 0
来查询表,但是,数量在15个单独的列中(size1_stock,size2_stock等)。
在选择整个表(作为带有insert into子句的MSSQL中的链接服务器)时,大约需要2.5小时。我需要大大减少这样做的时间。
我的查询没有其他谓词我需要添加,除非所有这些列的总和&lt;&gt; 0
选项:
where size1_stock + size2_stock .. <> 0
(实际上并不快)不幸的是,清除表不是一种选择 - 供应商说这些记录需要保留。
任何建议都会很棒!