1.1 把MySQL当做黑盒子一样执行SQL语句
一般情况下,我们的系统采用数据库连接池的方式去并发访问数据库,然后数据库自己其实也会维护一个连接池,其中管理了系统跟这台数据库服务器简历的所有连接,如下图所示:
当我们的系统只要能从数据库连接池获取到一个数据库连接之后,我们就可以执行增删改查的SQL语句了。
从上图其实可以看到,我们可以通过数据库连接池把要执行的SQL语句发送给MySQL数据库,然后很多时候就把MySQL当做一个黑盒子来执行SQL语句。
1.2 网络连接必须让线程来处理
现在假设我们的数据库服务器的连接池中的某个连接接收到了网络请求,假设就是一条SQL语句,那么思考一下,谁负责从这个连接中去监听网络请求?谁负责从网络连接里把请求数据读取出来?
如果对计算机基础知识有一个简单了解的话,应该知道网络连接必须得分给一个线程去进行处理,由一个线程来监听请求以及读取请求数据,比如从网络连接中读取和解析出来一条我们的系统发送过去的SQL语句,如下图所示: