我已经看到两种处理数据库连接的方法: 1)连接池 2)绑定到线程的连接(当我们有固定和常量线程计数时)
但我不明白使用#2的目的是什么。与第一种行为相比,第二种行为的优势是什么?
答案 0 :(得分:0)
如果您正在使用单个线程或一小组线程(需要数据库功能),那么将连接绑定到线程就像穷人的连接池一样。您不必每次使用它时都从池中检出连接,而只使用绑定到线程的单个连接。这样就可以快速执行数据库查询,即使代码设计得不是很好。
但是在许多情况下,您不使用单个线程或一小组线程。一旦你用几十个并发用户开发一个应用程序,你最好不要使用连接池,因为不可能将连接专用于每个线程(参见下一段)。
有些人也有误解,连接池可以而且应该有很多连接(100或更多),即使拥有更少的连接通常更有利。由于所有连接都使用数据库的资源,因此效果类似于具有单个收银机的商店。拥有10个门而不是1个门的效率并不高,因为它只会填满客户,但付款不会更快。