现在有一张表,每天有300万的数据增加,以月为单位进行存储。我有一个功能要对这个表内的数据进行更新,目前测试速度数据量是500万的时候,更新一条需要800多毫秒,已经简直无法忍受,按此速度到月末的时候更是要疯掉了,请问有没有好的建议和方法,多谢。我目前的做法是新增加了一个表,作为其子表,有相同的主键,将原来的更新操作变为插入操作,速度很快,但是感觉这样冗余多了,占用存储的空间也多,对后期数据处理还要进行联合查询也会影响速度。希望各位朋友讨论一下。多谢。
解决方案 »
- ORA-01840: 输入值对于日期格式不够长
- 关于update语句问题,更新不一致的语句
- 高分请教oracle的default sysdate 怎么让每次写数据库时自动更新最新时间
- 求高手理业务关系
- oracle 在oracle\admin\abc\bdump下产生大量mmon日志,如何取消???
- 在forms builder中能否看到APP_STANDARD的源代码?
- jsp中oracle连接池的配置
- ORCALE导出为DBF(或其它类型)的问题
- 重装了Oracle9i后,实例如何恢复??
- 一个新人想学oracle。
- Oracle中查询昨天00:00到今天00:00的sql怎么写?
- 如何用sql语句写入blob类型数据?
查询这条需要多少秒
先找出瓶颈 要是查出也是比较慢的话 那应该要用索引
要是查询出来比较快 而是写的缘故的话 那就按照5楼的办法 先 disable掉索引 然后更新、
比如表连接的顺序,where后面条件的顺序等。
set autotrace on 跟踪下到底哪影响效率
http://www.itpub.net/thread-1052077-1-1.html就能明白你这更新几百万 根本是小case~!