现在有一个数据库表A,里面数据有500W左右。要做的工作是根据条件将500w中的估计大约是300W条记录导出到数据库中的另外一张表B中,A和B的结构完全一致(包括索引),B相当于A的备份表。该如何做? 现在没有思路。如果纯粹的 select insert 会不会很慢?谢谢指点。

解决方案 »

  1.   

    用create table B as select * from A  where  conditions='';
    这样会比较适合,再说500万条数据根本不多
      

  2.   

    同意楼上,要是B表已建立,就用
    insert into B
    select * from A where conditions=''; 
      

  3.   

    如果是表已存在,执行insert时可以考虑加上append这个hint。
    insert /*+ append */ ...
      

  4.   

    加上 append  ? 怎么用啊?呵呵,我查查帮助额。
      

  5.   

    通用文件和数据库同步软件《同步专家网络版》数据库同步演示文件:
    http://www.datsync.net/down.asp?file=download/dat演示.rar&name=数据库同步演示软件下载:
    http://www.ahjoe.com/prodnet.asp文件同步教程:
    http://www.ahjoe.com/netdoc.htm
      

  6.   

    通用文件和数据库同步软件《同步专家网络版》数据库同步演示文件:
    http://www.datsync.net/down.asp?file=download/dat演示.rar&name=数据库同步演示软件下载:
    http://www.ahjoe.com/prodnet.asp文件同步教程:
    http://www.ahjoe.com/netdoc.htm