我正在尝试编写一个服务器演示来连接 php-fpm ,但我不知道 fast-cgi 的 php-fpm 和 nginx 之间的连接是否是持久(keep-alive)连接?每次向 nginx 请求 http 时,nginx 是否会再次通过 tcp 3-Way Handshake 连接 php-fpm?或者nginx和php-fpm之间的连接是keep-alive连接,nginx尝试重用它?
我似乎\xe3\x80\x80有一个错误的想法:
\n\nupdate table_name set id=222 where id >333;\nRun Code Online (Sandbox Code Playgroud)\n\n我的旧观点是上面的单个sql没有begin并且commit不会启动事务。\n但这似乎是错误的。
但是当我阅读mysql文档时,我发现似乎所有sql都会在一个事务中。如果你不显式使用beginand commit,它将在InnoDB中隐式启动事务。
\n\n\n在 InnoDB 中,所有用户活动都发生在事务内。如果启用自动提交模式,则每个 SQL 语句都会自行形成一个事务。默认情况下,MySQL 在启用自动提交的情况下为每个新连接启动会话,因此如果该语句未返回错误,MySQL 会在每个 SQL 语句后执行提交。如果语句返回错误,则提交或回滚行为取决于错误。请参见第 14.21.4 节,\xe2\x80\x9cInnoDB 错误处理\xe2\x80\x9d。
\n
是所有的sql都会在事务中执行,无论你是否使用begin和commit显式。