请教各位老大!!!如果是在Oracle 中有两个表 不断的清空,之后写入数据,(比如每10秒 清空一次table_aaa表并写入数据) 对数据库和系统会有什么影响吗?是用delete from table_aaa;   还是用truncate table table_aaa;  用哪个好呢??

解决方案 »

  1.   

    用truncate table table_aaa吧,这个快些!
      

  2.   

    truncate不见得合适你的情况。
    truncate在对hwm的处理是有一些比较好的优化,但本身删除数据的性能是不是很好,关键要看你是怎么使用的,而且本身truncate是一个ddl语句,所以是不受commit和rollback的作用的, 你可以详细看看这个文章。
    http://bbs.inthirties.com/thread-78-1-1.html
    http://blog.csdn.net/inthirties/archive/2009/05/11/4164631.aspx不知道你具体是什么样的需求,想你这样删除的如此频繁的应用,是否考虑过临时表,不知道临时表是否能都满足到你的需求
    有关临时表的介绍
    可以参考文章
    http://bbs.inthirties.com/thread-79-1-1.html
    http://blog.csdn.net/inthirties/archive/2009/08/07/4420030.aspx