`
ouyida3
  • 浏览: 49847 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

论数据库连接的创建与关闭对程序性能的影响数量级

阅读更多
今天有个同事说某个应用程序卡住了10秒,是因为代码里进行了两个数据库的连接导致。我觉得不可思议。

根据验证,从打开数据库,执行一条简单的sql,到关闭数据库连接,大概需时0.001秒~0.002秒。
当然,这个结果与数据库性能、主机性能、连接代码的优劣也有关系。
但是从数量级上看,如果只是操作一次或数次,数据库的连接关闭与应用程序的性能关系是不大的。

但是,如果在一次操作应用程序中,连接上千次,那么就会有很大的影响。毕竟1~2秒对于大部分的应用响应来说都是巨额的耗费。

结论:非高实时性的普通应用,遇到性能问题,不要首先归结于仅仅是几次的数据库连接。从其他地方入手,比如是否sql过慢,是否上千次的数据库连接关闭,是否循环的代码造成,是否死锁等等。最后才检查是否数据库连接的代码写的有问题。

测试数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
测试主机:Red Hat Enterprise Linux Server release 6.3
分享到:
评论

相关推荐

    常用jdbc数据库连接jar包,数据库连接池jar包

    数据库连接池在初始化时会创建一定数量的数据库连接并保存起来,当应用程序需要连接时,可以从池中获取一个已存在的连接,而不是每次都去新建,用完后也不立即关闭,而是归还给连接池。这样可以显著减少建立和释放...

    Java jdbc数据库连接池总结

    Java JDBC 数据库连接池...Java JDBC 数据库连接池技术可以解决频繁的数据库连接操作对系统资源的占用,提高系统的性能和可靠性。同时,连接池技术也可以和其它技术结合使用,例如 EJB 技术,实现高效的数据库访问。

    轻量级java数据库连接池

    数据库连接池是数据库管理中的重要组成部分,它在Java应用程序中扮演着优化数据库资源分配与管理的角色。本项目提供了一个轻量级的Java数据库连接池实现,旨在简化开发过程,提高应用性能并降低资源消耗。下面将详细...

    数据库连接池代码

    数据库连接池是现代Java应用程序中不可或缺的组件,它在提高应用程序性能、管理和优化数据库资源方面起着关键作用。本文将深入探讨基于JDBC的数据库连接池技术,主要针对Oracle数据库,但很多概念同样适用于其他...

    JAVA数据库连接池类

    数据库连接池是Java应用程序中管理数据库连接的一种高效策略,它能显著提高系统性能并减少资源消耗。本篇文章将深入解析一个自定义的JAVA数据库连接池类,帮助开发者更好地理解和运用这一关键技术。 首先,连接池的...

    补充 数据库连接池.ppt

    在传统的JDBC数据库编程中,每个数据库操作都需要建立、使用和关闭数据库连接,这种模式存在明显的性能瓶颈和资源浪费。为了解决这些问题,数据库连接池应运而生。 **数据库连接池的必要性** 1. **资源重用**:...

    基于JDBC的数据库连接池技术研究

    如果不使用连接池,那么每次访问都需要创建新的数据库连接,这不仅消耗大量的系统资源,而且严重影响性能。通过使用连接池技术,可以将连接复用起来,只需要少量的连接即可满足大量并发请求的需求,显著提升了系统的...

    数据库连接池以及hibernate对各种连接池的整合

    数据库连接池的基本原理是预先创建一定数量的数据库连接,当应用程序需要访问数据库时,可以从池中获取一个已建立的连接,使用完毕后归还给池而不是直接关闭,这样避免了频繁的创建和销毁连接带来的开销。...

    数据库连接池包(proxool.jar)

    Proxool是Apache软件基金会提供的一款开源的数据库连接池实现,它的主要功能是管理和复用数据库连接,避免了频繁创建和关闭数据库连接所导致的性能开销。在Java环境下,Proxool.jar是使用Proxool数据库连接池服务的...

    Java中数据库连接池原理机制的详细讲解.pdf

    数据库连接池的核心思想是在应用程序启动时预先创建并维持一定数量的数据库连接,这些连接存储在一个缓冲池中。当应用程序需要访问数据库时,可以直接从连接池中获取一个空闲连接,使用完毕后将连接归还到连接池而...

    web项目数据库连接样例

    在开发Web应用程序时,数据库连接是至关重要的环节,它使得应用程序能够存储、检索和更新数据。本示例将深入探讨如何在Web项目中建立数据库连接,以实现高效的数据交互。 一、数据库连接基础 数据库连接是指Web...

    DBCP数据库连接池jar包.zip

    数据库连接池的出现解决了这个问题,它在应用程序启动时预创建一定数量的数据库连接,并存储在一个池中,当程序需要访问数据库时,可以从池中获取一个已经建立好的连接,使用完毕后再归还给池,而不是真正关闭连接。...

    C语言数据库连接池 libzdb-3.0

    libzdb-3.0是一款专为C语言设计的轻量级数据库连接池库,它提供了高效且易于使用的API,以实现线程安全的数据库连接池功能。 **1. libzdb的核心特性** - **小型和快速**:libzdb的设计目标是保持体积小,同时提供...

    java数据库连接池.rar

    数据库连接池是Java应用程序在处理数据库交互时的重要组件,它能有效地管理数据库连接,提高系统性能,降低资源消耗。在Java开发中,我们通常会使用像C3P0、Druid这样的连接池来优化数据库访问。JDBC(Java Database...

    JSP数据库连接池的研究与实现(源代码+论文).zip

    1. **数据库连接池概念**:数据库连接池是在应用程序启动时初始化的,它预先创建一定数量的数据库连接并存储在内存中,当应用程序需要时,可以直接从池中获取,用完后归还,而非关闭。 2. **JDBC(Java Database ...

    数据库连接程序.zip

    在IT行业中,数据库连接是Java开发中的重要环节,特别是对于基于Web的应用程序,与数据库的交互是必不可少的。本资源"数据库连接程序.zip"提供了一种在Eclipse环境中连接MySQL数据库的三种方法:普通连接方式、C3P0...

    java数据库连接池源码及使用示例

    数据库连接池在Java应用中扮演着至关重要的角色,它是一种管理数据库连接的机制,通过复用已存在的数据库连接,减少创建和销毁连接的开销,从而提高系统性能。本资源包含了一个名为`jdbcPool`的手写数据库连接池源码...

    数据库连接池原理

    数据库连接池原理是现代软件开发中提升性能和资源管理的...总的来说,理解并熟练掌握数据库连接池原理对于优化应用程序性能和资源管理至关重要,尤其是在大型企业级应用中,它是提升系统稳定性和响应速度的重要手段。

    dbcp数据库连接池jar包

    数据库连接池在初始化时会创建一定数量的数据库连接并存储在池中,当应用程序需要连接时,可以从池中获取已存在的连接,而不是每次都去数据库创建新的连接。使用完后,应用将连接归还给连接池,而不是直接关闭,这样...

Global site tag (gtag.js) - Google Analytics