gpt4 book ai didi

php - mysql 触发器是否会为 select 语句产生额外的开销?

转载 作者:搜寻专家 更新时间:2023-10-30 20:29:02 24 4
gpt4 key购买 nike

我知道显而易见的答案是否定的。但是,在表上使用任何 insertupdatedelete 触发器会以任何方式影响对同一个表的选择语句吗?

最佳答案

没有。 100%

MySQL 只在 sql_delete.cc、sql_insert.cc 和 sql_update.cc 中处理触发器。

请参阅 mysql-5.5/sql 目录中的源代码。例如在 http://bazaar.launchpad.net/~mysql/mysql-server/5.5/view/head:/sql/sql_insert.cc搜索字符串“>process_triggers”。它是一个抽象的插入,独立于具体的处理程序实现。

当我们在 http://bazaar.launchpad.net/~mysql/mysql-server/5.5/view/head:/sql/sql_select.cc 查看来源的“选择”部分时我们只是看不到代码中的任何地方“触发”(在评论中只有 3 次)。

因此,我可以正式地向您报告,在选择触发器期间,任何地方都不会受到影响——仅在 DML 语句上。

ps:见http://dev.mysql.com/doc/internals/en/guided-tour-skeleton.html从鸟瞰图了解 MySQL 的内部结构。

关于php - mysql 触发器是否会为 select 语句产生额外的开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16013900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com