用户
 找回密码
 入住 CI 中国社区
搜索
查看: 7082|回复: 3
收起左侧

[数据库] pconnect一定要关闭吗?

[复制链接]
发表于 2011-4-3 23:05:17 | 显示全部楼层 |阅读模式
碰到个很苦恼的事情,application\config\database.php的默认设置$db['default']['pconnect'] = TRUE;

这个真是蛋疼,今天突然看了下show processlist发现有n多的连接未关闭,开始我把用到$this->db的程序末端加了$this->db->close();问题依旧,每次库操作都会出现未关闭的连接依然会出现。摸索了半天关闭$db['default']['pconnect'] = FALSE;问题解决。ci会自动释放连接了。

但是$db['default']['pconnect'] = FALSE;又出现另外一个问题了,每次库操作都要重新连接!???程序负载大了,重新连接岂不是会影响效率,各位高手支招啊!
如何能在全局只用一个连接?
 楼主| 发表于 2011-4-3 23:06:05 | 显示全部楼层
ci版本2.0.1
发表于 2011-4-4 09:10:36 | 显示全部楼层
pconnect 这个是 PHP 自己的策略,而且和 PHP 的运行方式有关。
有些 PHP 运行方式(比如楼主的),是无法使用 pconnect 的,也就是说只能每次请求都连接数据库。
更详细的可以参考 PHP 手册相关章节。
 楼主| 发表于 2011-4-4 15:28:46 | 显示全部楼层
谢谢管理员,其实我仔细想了一下,负载大可以用缓存机制来解决,效率上问题并不是太大。

本版积分规则