我正在开发一个非常依赖 MySQL 数据库的网站,因此有很多查询操作。
在这个帖子中,每个人都建议在页面顶部连接到数据库,并在页面底部断开连接。
我想知道什么更有效率,或一般来说最佳实践:每页只建立一个数据库连接,还是根据需要连接?(或者没有通用答案,这要看情况吗?)
另外,我想找出为什么这是最佳实践,从哪个角度看待场景(例如安全性、速度等等...我不知道还有什么其他数据库连接可能会影响的因素?)
我相信此问题曾被问过在这里 - 但不是针对 PHP 的具体情况,因此我没找到它有用。
我的当前做法是为我编写的每个函数连接到 DB,使用mysqli,并在函数结束时断开连接,因为这对我来说更清洁。这样,如果一个页面不调用需要 DB 访问的函数,将永远不会打开连接。但是,可能每次页面加载最多会有约10个连接,具体取决于用户在网站上的操作。现在我认为这可能是一个公平分配资源的方法。如果我理解正确,只能始终打开1个 DB 连接。因此,我假设所有连接请求都将排队等待。因此,如果用户有多个长而复杂的查询,该用户不会阻止所有流量,因为在每个查询之间,其他短查询可以得到处理。但这只是我编造的东西,我不知道是否真的会这样工作...😄
此外,我知道很多开发人员喜欢使用PDO。我选择在开始开发时使用mysqli,并且我没有切换的计划。我希望我的问题对两个库都适用。
谢谢 😊
在这个帖子中,每个人都建议在页面顶部连接到数据库,并在页面底部断开连接。
我想知道什么更有效率,或一般来说最佳实践:每页只建立一个数据库连接,还是根据需要连接?(或者没有通用答案,这要看情况吗?)
另外,我想找出为什么这是最佳实践,从哪个角度看待场景(例如安全性、速度等等...我不知道还有什么其他数据库连接可能会影响的因素?)
我相信此问题曾被问过在这里 - 但不是针对 PHP 的具体情况,因此我没找到它有用。
我的当前做法是为我编写的每个函数连接到 DB,使用mysqli,并在函数结束时断开连接,因为这对我来说更清洁。这样,如果一个页面不调用需要 DB 访问的函数,将永远不会打开连接。但是,可能每次页面加载最多会有约10个连接,具体取决于用户在网站上的操作。现在我认为这可能是一个公平分配资源的方法。如果我理解正确,只能始终打开1个 DB 连接。因此,我假设所有连接请求都将排队等待。因此,如果用户有多个长而复杂的查询,该用户不会阻止所有流量,因为在每个查询之间,其他短查询可以得到处理。但这只是我编造的东西,我不知道是否真的会这样工作...😄
此外,我知道很多开发人员喜欢使用PDO。我选择在开始开发时使用mysqli,并且我没有切换的计划。我希望我的问题对两个库都适用。
谢谢 😊