当我在启用触发器的情况下从表中更新100条记录时,需要15秒才能执行,但是当我在没有触发器的情况下运行它时它只需要2秒。
这是在本地开发版本上,在制作上需要两分钟。有什么办法可以加快速度吗?
感谢。
DROP TRIGGER IF EXISTS imuebles_update;
DELIMITER |
CREATE TRIGGER imuebles_update AFTER UPDATE ON imuebles
FOR EACH ROW
BEGIN
IF NEW.pub_id IS NULL THEN
DELETE FROM search_engine WHERE id = NEW.idImuebles;
ELSE
REPLACE INTO search_engine SELECT * FROM search_engine_v WHERE id = NEW.idImuebles;
END IF;
END;
|
DELIMITER ;
答案 0 :(得分:2)
对我来说看起来像,
REPLACE INTO search_engine SELECT * FROM search_engine_v WHERE id = NEW.idImuebles;
在更新后,在每一行上运行可能是一件非常重要的事情。
我的猜测是需要仔细研究为什么需要这样做而不是简单的修复。
如果发布一些数据库结构信息,也许有人可以建议如何解决它。