我的数据库表有300万记录,使用delete from table_name想把记录全部删除可是删除不动,以前试过在sqlserver2000下,现在oracle也不行,请问如何解决。在线等待。

解决方案 »

  1.   

    把delete from table_name做到存储过程里在服务器上执行应该很快的吧
      

  2.   

    oracle下可以truncate tablename直接清表....非常非常快但是不能加where字句而且无法rollback,要小心
      

  3.   

    用循环执行以下语句:delete top 1000 from table_name
      

  4.   

    还有一个“曲线救国”的方法先把建table的sql语句导出成.sql文件
    然后drop table
    再重建table一样的吧  等同于删除了全部数据
      

  5.   

    delete from table_name应该没有问题啊
      

  6.   

    对不起....
    应该是truncate table tablename才对
      

  7.   

    truncate table tablename 是一个好方法
      

  8.   

    在我的数据仓库的表里(SQL SERVER2000),经常都是1000万以上的记录。truncate table tablename 也就是几十秒的事情。