在《高性能mysql》上看到一句话:"每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个cpu核心或cpu中运行。"
php连接mysql的时候,用户名是root,而多个用户通过php网站访问数据库。
这算是一个客户端(php连接客户端)访问数据库,还是算多个客户端(多个用户)访问数据库呢?
在《高性能mysql》上看到一句话:"每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个cpu核心或cpu中运行。"
php连接mysql的时候,用户名是root,而多个用户通过php网站访问数据库。
这算是一个客户端(php连接客户端)访问数据库,还是算多个客户端(多个用户)访问数据库呢?
认为的确是由mysql 的php扩展来实现的,扩展中的mysql客户端对mysql服务器的请求都是在扩展中进行处理的
这要看PHP的MySQL驱动是如何实现连接的,与MySQL的连接一般不是有PHP直接进行的,而是通过PHP的MySQL扩展进行连接,而MySQL扩展一般带有长连接功能,长连接是独立于PHP单个请求的生命周期的,也就是说多个请求进程都可以共享同一个连接(也可能是多个连接),所有请求PHP的客户端数量并不总是等于请求MySQL的客户端数量