PHP+MYSQL(PDO)使用PDO持久连接加预处理查询 是不是无需关闭数据库连接 15
复制粘贴的请勿打扰,刚入门PHP,请热心大牛为我解决这几个小疑问。1、关闭数据库连接的方法执行后是不是不会关闭持久连接的句柄?2、那么如果我有300个用户同时访问一个we...
复制粘贴的请勿打扰,刚入门PHP,请热心大牛为我解决这几个小疑问。
1、关闭数据库连接的方法执行后是不是不会关闭持久连接的句柄?
2、那么如果我有300个用户同时访问一个web页面(需要PDO连接查询),这个时候是不是就会有300个mysql连接句柄存在?
3、当脚本执行结束的时候php销毁进程,这个时候mysql的长连接是不是才被自动关闭?
4、也就是说即使使用的是PDO持久连接,也不是访问同一个页面的所有客户端共享一个mysql句柄?
5、假如客户端太久无操作(apache关闭了与这个客户端的连接),之后客户端再操作的时候需要连接数据库查询的时候,Apache服务器是不是会重新分配一个连接PHP的进程给客户端,这对客户端应该没有任何影响吧?除了要重新连接数据库导致查询的时间略长之外。
6、apache关闭了与这个客户端的连接之后,是不是也标志着这个PHP脚本执行结束,会自动销毁进程并释放内存?
7、那么这样的话要解决大并发是不是应该最先从apache和mysql的最大连接数和保持的时间等方面入手。 展开
1、关闭数据库连接的方法执行后是不是不会关闭持久连接的句柄?
2、那么如果我有300个用户同时访问一个web页面(需要PDO连接查询),这个时候是不是就会有300个mysql连接句柄存在?
3、当脚本执行结束的时候php销毁进程,这个时候mysql的长连接是不是才被自动关闭?
4、也就是说即使使用的是PDO持久连接,也不是访问同一个页面的所有客户端共享一个mysql句柄?
5、假如客户端太久无操作(apache关闭了与这个客户端的连接),之后客户端再操作的时候需要连接数据库查询的时候,Apache服务器是不是会重新分配一个连接PHP的进程给客户端,这对客户端应该没有任何影响吧?除了要重新连接数据库导致查询的时间略长之外。
6、apache关闭了与这个客户端的连接之后,是不是也标志着这个PHP脚本执行结束,会自动销毁进程并释放内存?
7、那么这样的话要解决大并发是不是应该最先从apache和mysql的最大连接数和保持的时间等方面入手。 展开
1个回答
2015-01-06
展开全部
持久连接的实际用处:假如一个php脚本文件,同时会有多个用户访问该页面。
里面涉及到数据库查询操作。
如果使用非持久连接的话,那么每个用户都会从新建立一个数据库连接。
而持久连接,多个用户访问同一个文件的时候,可以共享一个数据库连接标识。
这样减少了连接次数。
里面涉及到数据库查询操作。
如果使用非持久连接的话,那么每个用户都会从新建立一个数据库连接。
而持久连接,多个用户访问同一个文件的时候,可以共享一个数据库连接标识。
这样减少了连接次数。
追问
即使是N个用户访问同一个脚本 每一个用户的请求不是被服务器分配到不同的进程去调用这个脚本吗 每个进程中的PDO标识不是独立的吗 当每个进程被杀死的时候 相应的PDO标识不也随之死亡了吗????
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询