在服务端,创建了一个DataSource之后,这个Datasource需要关闭吗?
之前用conn是用时申请,用完就close。
那这个Datasource是不是不用关闭,自动管理conn啊?
在服务端,创建了一个DataSource之后,这个Datasource需要关闭吗?
之前用conn是用时申请,用完就close。
那这个Datasource是不是不用关闭,自动管理conn啊?
连接池的出现是为了避免建立数据库连接的重大开销。
访问数据库其实是进程间的通信,既然是进程间通信,在传输层走的肯定是tcp协议,建立一次连接的开销肯定是大于内存间获取连接的开销。
其实所有问题的优化都基本脱离不了:降,疏,缓,堵,调。连接池就对应了其中的缓字!
数据源创建代价很大的,应该当作应用全局的,应用启动时创建,应用停止是销毁,另外就是对连接的管理的,连接创建也是很耗资源的,在不考虑高并发,不考虑性能,也可以使用时创建,用完关闭,但最好用池化技术管理,这方面java做的很好,有很多开源的东西,对于php这种以请求位生命周期的语言很困难这么管理。
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
2 回答2.8k 阅读✓ 已解决
DataSource 当然不需要关闭啦,你可以把它直接看做连接池,关闭了就要重新在创建一个连接池,代价很大的。