Sql Sybase中从大表到其他新表的数据传输

Sql Sybase中从大表到其他新表的数据传输,sql,sap-ase,data-transfer,Sql,Sap Ase,Data Transfer,我有一个要求,我需要根据一列上的一个条件,将一个有50万条记录的大表分解为两个表。 我不想使用“insert into table1 select*from table2 where condition=true”语句 最好的方法是什么?提前感谢。您可以使用两个视图来选择要发送到两个表的数据。由于您不想使用最简单的方法,这里有几个使用bcp和视图的选项 如果只需要创建一个新表: 使用true condition语句创建表的视图 BCP将数据从该视图中移出,并放入新表中 从原始表中删除真实条件记录

我有一个要求,我需要根据一列上的一个条件,将一个有50万条记录的大表分解为两个表。 我不想使用“insert into table1 select*from table2 where condition=true”语句


最好的方法是什么?提前感谢。

您可以使用两个视图来选择要发送到两个表的数据。

由于您不想使用最简单的方法,这里有几个使用
bcp
和视图的选项

如果只需要创建一个新表:

  • 使用true condition语句创建表的视图
  • BCP将数据从该视图中移出,并放入新表中
  • 从原始表中删除真实条件记录
  • 如果需要创建两个新表:

  • 创建具有真实条件的表视图
  • 使用false条件创建表的视图
  • BCP将数据从两个视图中移出,并放入新表中

  • 你为什么不想用最简单的方法呢?性能问题?其他原因?表是否必须物理分隔,或者您可以使用视图来完成它?使用
    select*into
    。这将不会使用日志和最快的方式在BCP之后插入。但是,您必须手动在新表上创建约束/索引/触发器(如果有的话)。它们不会被复制。