经过一些讨论后,有人指出,为了使之快速,应在处理日期上使用索引。这样表可以快速迭代。其次,我发现创建一个视图来获取利用索引进行处理所需的信息是明智的。
create table if not exists T(
USER_ID nvarchar(60),
URL nvarchar(250),
CONTENT nvarchar(700),
SUBMISSION_DATE datetime,
PROCESS_DATE datetime,
index PROCESS_DATE_IDX using BTREE (PROCESS_DATE)
);
create or replace view T_Vw as SELECT * FROM T where PROCESS_DATE < now();
根据已查看列的使用情况,将旧项转储到存储表中可能比较明智。
create table if not exists T_BK(
USER_ID nvarchar(60),
URL nvarchar(250),
CONTENT nvarchar(700),
SUBMISSION_DATE datetime,
PROCESS_DATE datetime,
index PROCESS_DATE_IDX using BTREE (PROCESS_DATE)
);
DELIMITER $$
CREATE TRIGGER T_tgr BEFORE DELETE ON Tweet FOR EACH ROW
BEGIN
insert into T_BK ('USER_ID', 'URL', 'CONTENT', 'SUBMISSION_DATE', 'PROCESS_DATE') values (OLD.USER_ID, OLD.URL, OLD.CONTENT, OLD.SUBMISSION_DATE, OLD.PROCESS_DATE);
END; $$
DELIMITER ;