我应该每次请求还是总是打开MySQL连接?

时间:2015-01-02 21:14:35

标签: mysql connection

假设我每2秒执行一次查询,是否应该在每次请求时打开连接,还是应该保持连接处于活动状态,直到应用程序(服务器)停止为止?

1 个答案:

答案 0 :(得分:1)

根据我的经验,建立连接不太可能成为mysql服务器的瓶颈(mysql中的连接开销相当低)。话虽如此,重用现有连接通常是一种合适的方法,但需要仔细考虑:如果数据库服务器暂时不可用,则代码必须重新连接;如果服务器被替换,它必须重新连接(mysql实现倾向于故障转移解决方案,而不是真正的高可用性);如果应用程序使用多个mysql连接,则必须确保不要跨越用户或会话之间的连接(活动数据库,时区,字符集等是会话变量,基本上与连接相关联)。如果您无法在这些和其他边缘情况下使可重用连接可靠,那么每2秒创建一个新连接可以免费提供这种耐用性。

简而言之,短期联系可能会带来不太明显的好处。除非你有理由相信它会对你的情况产生实质性的影响(例如基准测试),否则我不会费心去增加关于维持持久连接的智能。