有一张sncy表,有三个字段name     id                 time
zhang     2                2007-10-7 11:42:52
wang      3                2007-10-7 11:43:55
ming      4                2007-10-7 11:44:21
hao       4                2007-10-7 11:44:34
da        5                2007-10-7 11:44:52
mda       8                2007-10-7 11:45:52
dada      7                2007-10-7 11:46:52这张表有每天有70多万条,每天把零点,到19点的数据删除,不能用delete删除,因为我在这张表做了一个触发器我用truncate 删除,第一,删除大量数据快,可如何设时间条件??
或用什么别的办法解决???

解决方案 »

  1.   

    不能用truncate 删除,用truncate 删除只能是全部删除和清空。
    可以做一个JOB,每天在系统不忙的时候先使该触发器无效,再用delete删除,完成删除后再使触发器有效。
      

  2.   

    ALTER TRIGGER triggername disable;
    delete from ...
    ALTER TRIGGER triggername enable;
      

  3.   

    在表上面见关于时间的分区,就两个,一个是零点到19点的分区fenqu1,一个是19点到零点的分区fenqu2,每天truncate table temp PARTITION PART_fenqu1