为了避免每次查询需要针对MySQL触发时建立新连接的开销,有两种选择:
因此,如果我希望每秒处理数千个请求的多线程服务器应用程序,并且每个线程需要针对数据库触发查询,那么什么是更好的选择?
根据我的理解,使用持久连接,我的应用程序中的所有线程都将尝试使用与数据库相同的持久连接,因为它们都使用相同的连接.因此,它是跨多个应用程序线程共享的一个连接 - 因此请求将很快在数据库端阻塞.
如果我使用连接池机制,我将让所有应用程序线程共享一个连接池.因此阻塞请求的可能性较小.但是,对于连接池,应用程序线程是否应该等待从池中获取连接,或者它是否应该以循环方式在池中的连接上发送请求,并在数据库上进行排队(如果有)?