CodeIgniter - 只有在运行查询时才连接到数据库

时间:2011-05-06 10:12:40

标签: php mysql codeigniter

目前我在自动加载中加载数据库类,自动创建与mysql的连接。如果没有查询,它仍然会创建一个连接。

对于性能我只想在运行查询时连接到mysql。

实现这一目标的最佳方式是什么?

我正在考虑编写一个模型函数,所有查询都会通过该函数检测数据库是否已连接,如果没有,则在调用$this->load->database()之前调用$this->db->query()

这个问题是我必须在代码中更改所有$this->db->query()引用,这很痛苦。

理想情况下,我想扩展$this->db->query()功能以支持此功能。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以修改数据库配置的autoinit属性

$db['mydb']['autoinit'] = false;

这将导致数据库类在实例化时不初始化(包括连接到服务器),而是在第一次查询发生时发生。

请参阅the database configuration page