现在我有原始表:T表,里面少则几十万数据,多则几百万数据;我还有A、B、C、D四张表,里面各自也是几十万的数据,现在我要取出T表中的所有数据,和ABCD四张表比对,检索符合条件的数据,然后,将比对结果导入R表。这样一来,采用一般的操作方法,数据库慢的要死……在此高分悬赏,无论你采取什么样的方法【ps,不限于数据库,你也可以导出数据,外部操作】,我想要的,就只有效率和结果,其它的,都不管……【ps,优化sql语句,加索引啥的,就不要回答了】

解决方案 »

  1.   

    【ps,优化sql语句,加索引啥的,就不要回答了】
      

  2.   

    【ps,优化sql语句,加索引啥的,就不要回答了】楼主的索引真的建的就很合理,都有不用在说着一点了?还有硬件环境也影响速度,你的SQL语句写的合理否也会影响
      

  3.   

    索引不要,语句优化不要,那就换个小型机,几十万数据小case
      

  4.   

    说说你原来什么方法?如果你原来是取出T表,然后A表,比较后写入R表,哪知要修改下方法,在数据库直接连接写入,速度就能大大提高,必要时写个存储过程实现所有比对功能,关键你的比对规则需要好操作。
      

  5.   

    本人收回最后一句话。各位,对此问题,关于sql如何优化,和如何建立索引更高效,都踊跃发言啊……
      

  6.   

    我原来是取出T表,比对A表,写入R表;然后取出R表,比对B表,然后删除R表中不符合条件数据;然后依次C表,D表。
      

  7.   

    那你将T与A,B,C,D都比对OK后再写入R表啊,中间可以用临时表进行一些替换
      

  8.   

    都比对ok后,再写入R表,感觉还是挺费时间的啊
      

  9.   

    使用存储过程,是一次就将T表和ABCD比对完,然后写入R表吗?感觉这样,效率没有质的提升;如果是存储过程中,分次比对的话,就要建立临时表,存储中间结果集。感觉也不是很好……
      

  10.   

    先将ABCD四张表的数据按照你的条件组合到一起(临时表),然后再和R表进行比较。
      

  11.   

    【T表中的所有数据,和ABCD四张表比对,检索符合条件的数据】
    怎么对比?按id?按时间、金额范围??
    这个是关键,决定了好不好加索引