MySQL-数据库的连接数与数据的操作方式

Web程序数据库 Web程序数据库 主题:1214 回复:2505

MySQL-数据库的连接数与数据的操作方式

清晨说ぺ晚安 发布于 2016-11-29 字数 870 浏览 1196 回复 3

在购买诸出oracle或者mysql数据库的时候,会有一个并发连接数的授权权限,一直没弄清楚这个到底是什么。

1.比如像金蝶这样的软件是这样一种c/s模式,client --> server --> sqlserver ,如果数据库有连接数限制,指的是client->server的限制,还是server-->sqlserver的连接限制呢?

2.在以b/s举例的php应用中, browser -> apache --> sql,连接数限制是否是指apache进程连接到sql的并发个数?

3.代码中是否需要及时的关闭数据库连接?
在代码中操作数据库之后有一个比较好的习惯是将数据库关闭掉比如db.close(); ,一般认为这样比较有利于内存和系统资源的释放。这里的close()关闭的是代码与runtime环境(数据库驱动)之间的链接呢? 还是整个runtime环境与数据库之间的连接?

4.lamp环境在运行时,apache与mysql是否有一个持久的连接?
比如lamp环境在运行时,apache与mysql之间是只有在需要操作数据的时候才进行连接的,还是环境一启动就存在一个持久的连接?

求解答!

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

虐人心 2017-10-15 3 楼

1 server-->sqlserver
2 apache --> sql 不一定是进程数 如果多个进程共用一个连接的话 只算作一个
3 不太是 关闭数据库的话 下次再用就得开启 而开启数据库连接是一个很耗时的动作 更多的是通过数据库连接池进行管理 用过连接了 就丢给池 池会判断 如果空闲连接过多的话 就会适当关闭一些 如果连接不够用的话 就会多建几个连接 这样你在使用的时候 实际上是用之前创建好的
4没接触过lamp

以上答案仅供参考

偏爱自由 2017-08-22 2 楼

1 server-->sqlserver
2 apache --> sql 是服务器与数据库之间通讯的进程数
3 都不是,close是释放与数据库的连接,而不是意义上的关闭连接。
4 apache 和 mysql 没有关系。php 可以通过“长链接” 也就是上面提到的pconnect来保持空闲的链接,但是一般不推荐用长连接。php 处理大部分都是页面级别的,也就是说释放会很快。当DB压力比较大的应用场景,一般会考虑用连接池。类似SQL Relay,再则程序上DB链接通常用单例模式来建立链接。

想挽留 2017-05-12 1 楼

其他上面的都回答了。我就回答下第四点
4. 这个要看你代码是怎么写的,比如php的mysql连接代码,mysql_pconnect是长连接,就是一直保持连接,mysql_connect就是短连接,连接一次。