create table mytable_resets (
id serial primary key,
mytable_id bigint unsigned not null,
reset_at datetime not null
);
delimiter ;;
create trigger t after update on mytable
for each row begin
if NEW.processed_at is null then
insert into mytable_resets values (default, NEW.id, NOW());
end if;
end;;
delimiter ;
1条答案
按热度按时间9gm1akwq1#
大概是这样的
是的,它将影响原始查询的性能。
数据库写入的成本大致与它更新的索引数成比例。如果查询执行触发器以插入到另一个表中,则它会添加另一个索引更新。在本例中,是
mytable_resets
表的主键索引。但是,与
mytable
表多一个索引相比,开销不会大很多。