时间:2021-07-01 10:21:17 帮助过:79人阅读
为什么连接开销比较大? 开发人员经常认为建立一个数据库是一个简单的要求,不就是在数据库服务器和初始化用户之间的一个网络往返吗,但实际上,一个数据库连接在驱动和数据库服务器之间有多次网络往返,例如,当某个驱动连接到Oracle或Sybase时,这个连接会
为什么连接开销比较大?
开发人员经常认为建立一个数据库是一个简单的要求,不就是在数据库服务器和初始化用户之间的一个网络往返吗,但实际上,一个数据库连接在驱动和数据库服务器之间有多次网络往返,例如,当某个驱动连接到Oracle或Sybase时,这个连接会有7到10和网络往返,执行了一系列的动作:
◆校验用户的身份证书
◆在数据库驱动期望的代码页设置和数据库可用的代码页设置之间进行协商(如果必要的话)
◆获取数据库版本信息
◆确定用于通信的最理想的数据库协议包大小
◆设置会话设置
此外,数据库管理(开发人员承担数据库管理员职责时的最佳做法)系统要确定建立连接使用的资源,包括性能开销较大的磁盘I/O和内存分配,你可能会认为将应用程序部署到数据库服务器上会消除网络往返,在大多数情况下这并不现实,因为现实世界中大部分企业并不会这么干,它们有很多的应用程序,有很多的数据库,此外,数据库服务器都会为数据库系统进行精心的性能调整,一般不会为不同的应用程序进行调整,即使可以在一台机器上安装数据库和应用程序,但这样也会有单点故障的隐患。
摘自:http://database.51cto.com/art/200907/136845.htm