一线大厂面试真题-数据库连接池有什么用?它有哪些关键参数?

目录

概述

问题解答

面试点评


概述

一个工作5年的,他说参加美团面试,遇到一个基础题没回答上来。

个问题是:“数据库连接池有什么用?以及它有哪些关键参数”?

问题解答

从这几个方面来回答

首先,数据库连接池是一种池化技术,池化技术的核心思想是实现资源的复用,避免资源重复创建销毁的开销。

而在数据库的应用场景面,应用程序每次向数据库发起CRUD操作的时候,都需要创建连

在数据库访问量较大的情况下,频繁的创建连接会带来较大的性能开销。

(如图)而连接池的核心思想,就是应用程序在启动的时候提前初始化一部分连接保存到连接里面,当应用需要使用连接的时候,直接从连接池获取一个已经建立好的链接。连接池的设计,避免了每次连接的建立和释放带来的开销。

连接池的参数有很多,不过关键参数就几个:

首先是,连接池初始化的时候会有几个关键参数:

1.   初始化连接数,表示启动的时候初始多少个连接保存到连接池里面。

2.   最大连接数,表示同时最多能支持多少连接,如果连接数不够,后续要获取连接的线程会阻塞。

3.   最大空闲连接数,表示没有请求的时候,连接池中要保留的最大空闲连接。

4.   最小空闲连接,当连接数小于这个值的时候,连接池需要再创建连接来补充到这个值。然后,就是在使用连接的时候的关键参数:

5.   最大等待时间,就是连接池里面的连接用完了以后,新的请求要等待的时间,超过这个时间就会提示超时异常。

6.   无效连接清除,清理连接池里面的无效连接,避免使用这个连接操作的时候出现错误。

不同的连接池框架,除了核心的参数以外,还有很多业务型的参数,比如是否要检测连sql的有效性、连接初始化SQL等等,这些配置参数可以在使用的时候去查询api文档就可以知道。

面试点

这个问题更进一步去问,就会问到最大连接数、最小连接数应该如何设置?

连接池的实现原理啊等等。

以建议各位还是要有一个系统化的学习。

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值