sql server数据定时迁移


把数据定时的从一个表迁移到另外一个表,(先查询、插入后删除)

比如有两个表A、B。
每天产生的新数据都存入A,但是时间久了之后A的数据积累了很多,效率降低很大。现在创建新表B,每天执行存储过程把A表中的六个月之前的数据迁入B表中。现在我写的存储过程类似与下面的代码,但是这么写相当于执行了两遍,不知道大家有没有什么效率比较高的方法,谢谢!


 if OBJECT_ID ( 'A', 'P' ) IS NOT NULL
    DROP A
go
CREATE PROCEDURE A
AS BEGIN
    INSERT INTO B (ID,,,,, )
    SELECT ID, ,,,,
    FROM A
    WHERE DATEDIFF(MONTH, A.time, GETDATE()) > 6;
  END
  BEGIN
    DELETE FROM A
    WHERE DATEDIFF(MONTH, A.TIME, GETDATE()) > 6;  
  END

sqlserver 数据库性能优化

xuelide 10 years, 9 months ago

Your Answer