zoukankan      html  css  js  c++  java
  • 在进行数据库编程时,连接池有什么作用?

    由于创建连接和释放连接都有很大的开销(尤其是数据库服务器不在本地时,每

    次建立连接都需要进行 TCP 的三次握手,释放连接需要进行 TCP 四次握手,造成

    的开销是不可忽视的),为了提升系统访问数据库的性能,可以事先创建若干连

    接置于连接池中,需要时直接从连接池获取,使用结束时归还连接池而不必关闭

    连接,从而避免频繁创建和释放连接所造成的开销,这是典型的用空间换取时间

    的策略(浪费了空间存储连接,但节省了创建和释放连接的时间)。池化技术在

    Java 开发中是很常见的,在使用线程时创建线程池的道理与此相同。基于 Java 的

    开源数据库连接池主要有:C3P0ProxoolDBCPBoneCPDruid 等。

    补充:在计算机系统中时间和空间是不可调和的矛盾,理解这一点对设计满足性

    能要求的算法是至关重要的。大型网站性能优化的一个关键就是使用缓存,而缓

    存跟上面讲的连接池道理非常类似,也是使用空间换时间的策略。可以将热点数

    据置于缓存中,当用户查询这些数据时可以直接从缓存中得到,这无论如何也快

    过去数据库中查询。当然,缓存的置换策略等也会对系统性能产生重要影响,对

    于这个问题的讨论已经超出了这里要阐述的范围。

  • 相关阅读:
    vsftpd 配置:chroot_local_user与chroot_list_enable详解
    rsync同步目录
    apache
    centos 7 服务管理
    PowerPoint’s Menu is Too Big
    测试网页返回值
    作为人的展现方式
    Java 日期与时间
    Java 随机数
    Character 类
  • 原文地址:https://www.cnblogs.com/programb/p/13021387.html
Copyright © 2011-2022 走看看