如果我在控制器中加载5个模型,是否会分别为所有模型建立数据库连接?
因为它为每个模型打开了数据库连接的多个端口,因此会产生服务器挂起的问题。
如果有任何解决方案?
提前致谢。
答案 0 :(得分:0)
不,codeigniter应为您加载的每个模型建立新的数据库连接。你是如何得出结论codeigniter打开多个端口?这应该是不可能的
答案 1 :(得分:0)
不,CodeIgniter正在使用单例模式,这意味着您只能创建每个模型/库的一个实例(或一次创建一个数据库连接)。
问题可能在您的数据库查询中 - 它们可能会减慢响应速度。您是否在数据库配置中使用持久连接?</ p>
有很多问题,但你的代码不多,所以我们只能猜测。
答案 2 :(得分:0)
你是否100%确定问题是什么?我从来没有加载任何数量的模型,也因为CI作为有点单例,所以对象总是一个,如果一个实例已经存在,那么类也不会重新加载/重新实例化。
如果您的数据库存在问题,请尝试在config/database.php
中将pconnect(持久连接)设置为FALSE。您可能还想打开缓存,这可能会有所帮助。
$db['test']['pconnect'] = FALSE;
$db['test']['db_debug'] = TRUE;
$db['test']['cache_on'] = TRUE;