我正在开发一个非常MySQL数据库驱动的网站.所以我有很多疑问.
在this topic中,每个人都建议连接到页面顶部的数据库,并在页面底部断开连接.
我想知道什么是更高效,或者一般来说最佳实践:每页建立一个单独的数据库连接,或者只根据需要连接? (或者没有一般的答案,这取决于?)
另外,我希望找出为什么这是最佳实践,从哪个角度来看你的情景(例如安全性,速度,……我不知道DB连接可能会影响什么?!)
我相信这个问题在here之前就已经被问到了 – 但不是针对具体的PHP,因此我没有发现它有用.
我目前的做法是为每个mysqli连接到我写的每个函数,并在函数结束时断开连接,因为它对我来说似乎更清晰.这样,如果页面没有调用需要DB访问的功能,则永远不会打开连接.但是,可能会发生每页加载最多大约10个连接,具体取决于用户在网站上执行的操作.现在我认为这可能是公平的资源分配.如果我理解正确,则只能打开1个DB连接.因此,我假设所有连接请求都将排队.因此,如果用户具有多个长而复杂的查询,则该用户将不会占用所有流量,因为在每个查询之间,可以处理其他短查询.但那只是我制造的东西,我不知道它是否会真的那样……:D
另外我知道这里的很多开发人员都喜欢使用PDO.我开始开发时选择使用mysqli,我没有切换的计划.我希望我的问题可以适用于两个图书馆.
谢谢 :-)