日期:2014-05-18  浏览次数:20428 次

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

------解决方案--------------------
【ps,优化sql语句,加索引啥的,就不要回答了】
------解决方案--------------------
硬件升级,
------解决方案--------------------
你索引建立好了么?几百万条算啥啊
------解决方案--------------------
【ps,优化sql语句,加索引啥的,就不要回答了】

楼主的索引真的建的就很合理,都有不用在说着一点了?

还有硬件环境也影响速度,你的SQL语句写的合理否也会影响
------解决方案--------------------
索引不要,语句优化不要,那就

换个小型机,几十万数据小case
------解决方案--------------------
说说你原来什么方法?

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

------解决方案--------------------
探讨
引用:

说说你原来什么方法?

如果你原来是取出T表,然后A表,比较后写入R表,哪知要修改下方法,在数据库直接连接写入,速度就能大大提高,必要时写个存储过程实现所有比对功能,关键你的比对规则需要好操作。
我原来是取出T表,比对A表,写入R表;然后取出R表,比对B表,然后删除R表中不符合条件数据;然后依次C表,D表。

------解决方案--------------------
探讨
引用:

说说你原来什么方法?

如果你原来是取出T表,然后A表,比较后写入R表,哪知要修改下方法,在数据库直接连接写入,速度就能大大提高,必要时写个存储过程实现所有比对功能,关键你的比对规则需要好操作。
我原来是取出T表,比对A表,写入R表;然后取出R表,比对B表,然后删除R表中不符合条件数据;然后依次C表,D表。

------解决方案--------------------
先将ABCD四张表的数据按照你的条件组合到一起(临时表),然后再和R表进行比较。
------解决方案--------------------
没表结构,没脚本,怎么说都是空吹啊。。。。
几百万数据真心少啊,,,我看到过6-7个上千万表join起来也就10几秒阿
慢要么就是表结构不合理,
你先看执行计划看看到底性能消耗在哪阿
看你你说的似乎是在写入R表上消耗最多
若你写入R的动作是不可避免的,那就是无解啊

要么改变你的数据逻辑,让R插入的动作分散

要么别插入R
------解决方案--------------------
【T表中的所有数据,和ABCD四张表比对,检索符合条件的数据】
怎么对比?按id?按时间、金额范围??
这个是关键,决定了好不好加索引
------解决方案--------------------
探讨
...和ABCD四张表比对,检索符合条件的数据,...