开发者社区> 问答> 正文

删除 SQL 服务器上的大量数据

删除 SQL 服务器上的大量数据

展开
收起
贺贺_ 2019-12-17 17:05:54 1183 0
1 条回答
写回答
取消 提交回答
  • 重新创建表,因为 insert和表创建效率要高得多。 为此,您基本上可以执行以下操作:

    select t1.*
    into temp_tab1
    from tab1 t1 
    where exists (select 1 from table2 t2 where t2.id_product = t1.id_product);
    
    truncate table tab1;  -- back it up first!
    
    insert into tab1
        select *
        from temp_tab1;
    
    

    注意: 如果您有标识列,则可能需要设置标识插入。此外,如果您有此表的外键约束,则需要格外小心。 最后,如果这是您需要重复执行的,则应考虑对表进行分区。删除分区比删除行更有效。

    2019-12-17 17:09:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载