Web系统是如何和数据库MySQL交互

278 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情

Web系统是如何和数据库MySQL交互

数据库我们都接触的多了,但是你知道 Web系统是如何和数据库MySQL交互的吗?今天我们就一起来学习一下相关的知识。

web系统主动连接数据库

我们都知道数据库里面就是存放我们的系统数据,而系统就是要对数据库进行增删改查的操作,而进行这些操作的前提是我们的web系统要先和数据库建立连接。

graph TD
web系统 --> MySQL数据库

但是在我们的实际生产生活场景中,并不是只有单一连接的,真正更多的是多线程或者进程并发地访问数据库。 多进程的场景:

image.png

多系统的场景:

image.png 如果还是这样子,每次都是到了要连接的时候,才由系统创建与数据库的连接,在事务处理完之后还将刚刚使用的数据库连接销毁掉的话,这样是非常消耗性能的(每次创建新的连接的时候都是非常耗时的)

为了解决这个问题,聪明的人都已经想到了数据库连接池了,确实数据库连接池这个技术是可以很好地解决频繁创建新连接的性能消耗的。

下面我们就一起来学习一下,什么才是数据库连接池技术:

数据库连接池技术其实就是一开始创建了适量的数据库连接,当前进程需要对数据库进行操作是并不需要额外创建新的数据库连接,而是可以直接复用数据库连接池中的数据库连接,在当前进程处理完数据库的事情之后,也不会把连接销毁,而是继续将连接放回连接池子里,等待下一次的重复利用。

这样子,就可以很好地避免了,频繁创建新连接的性能消耗。

数据库管理连接

刚刚聊了系统是通过连接池的方式和数据库进行连接的,其实在数据库内部也是维护这一个数据库连接池的,为什么呢?

因为来连接数据库的连接非常的多,所以数据库也是通过数据库连接池才能更好地管理来自不同进程,不同系统的连接。

具体的实现方式和上面介绍的类似,这里就不再赘述。